我在 Linux 中找到了一个 sed
命令,它可以将以下变量值替换为 .env 文件中的 root
DB_USERNAME=123
DB_ABC_USERNAME=abc
DB_ABC_DEF_USERNAME=abcdef
至
DB_USERNAME=root
DB_ABC_USERNAME=root
DB_ABC_DEF_USERNAME=root
文件中有另一个变量,例如 DB_HOST=xxx,我们不能使用 sed 更改所有变量
最佳答案
这个简单的 sed
将为您提供同样的帮助。
sed 's/=.*/=root/g' Input_file
如果您想将输出保存到相同的 Input_file 中,请在上面的代码中使用 sed -i
选项。
编辑:如果您想查找仅搜索和替换的特定字符串值,那么以下内容可能会帮助您。
sed -E '/(DB_USERNAME)|(DB_ABC_USERNAME)|(DB_ABC_DEF_USERNAME)/s/=.*/=root/g' Input_file
编辑2:如果您正在寻找仅要更改的特定字符串,那么以下内容可能会帮助您。
awk '/DB_USERNAME/||/DB_ABC_USERNAME/||/DB_ABC_DEF_USERNAME/{sub(/=.*/,"=root")} 1' Input_file
在上面的代码中添加 > temp_file && mv temp_file Input_file
以防您想将输出保存在同一个 Input_file 本身中。
关于linux - 在linux中使用sed命令更改变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49316418/