我想测试文件中是否存在模式。
到目前为止,我已经完成了:
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
输入file2
Rho = 1.1955904623E+02
答案 0 :(得分:2)
你可以简单地继续进行替换,如果模式存在某些东西会被改变,如果没有,将不会对该文件进行任何操作。
awk '{sub(/Pattern1/, "\nWORD"); print}' $FILE > tmp && mv tmp $FILE