我项目目录中的所有文件都有一行:
var $useDbConfig = 'default_dev';
如何从所有文件中删除此行,然后使用sed使用单行命令保存同一文件?
答案 0 :(得分:1)
你可以尝试
sed -i.bak '/var \$useDbConfig = .*default_dev.*;/d' *
或者您可以使用awk
awk '/var/&&/\$useDbConfig/&&/default_dev/{next}{print $0>FilENAME}' *
答案 1 :(得分:1)
-i
的{{1}}参数已编辑到sed
。通过参数,它可以保存备份。所以你想要这样的东西:
STR="var $useDbConfig = 'default_dev';"
sed -i.bak "/$STR/d" *
答案 2 :(得分:0)
如果您的sed
版本支持-i
选项,则可以使用此命令以交互方式删除当前目录中所有文件的行:
sed -i "/var \$useDbConfig = 'default_dev';/d" ./*
此外:引用字符串的方式适用于bash
。在其他shell(如csh
)中,您应该调整模式。