3
我想测试一个文件中是否存在模式。测试是否存在文件中的模式,评估是否
- 如果模式存在(在列表中的文件中),则进行替换并更新相应的文件。
- 如果模式不存在,则不执行任何操作。
到目前为止,我已经做了:
if [ -f $((`awk '/Pattern1/' $FILE`))];then
sed 's/Pattern1/\nWORD/g' $FILE > a
mv a $FILE
fi
但是,当我测试它,我得到以下错误:
syntax error: invalid arithmetic operator
而且我不想评价数字部分,只要pttern〜字符串存在或不存在。文件1
的输入
Rho = 1.1955904623E+02 Rho at Nucleus = 1.1955904594E+02
的文件2
Rho = 1.1955904623E+02
如果您使用awk来查找模式,为什么不使用awk来完成整个工作?似乎很奇怪切换到sed。 –
你会推荐我什么,而不是我的程序? –
你错过了之前的一个空格字符]; bash是残酷的! – josifoski