我已经看到了一些关于如何搜索模式然后将特定字符串附加到该行的示例。我想,我想要完成的事情有点不同。我正在编写一个简单的脚本,它将接受一个参数,在文件中搜索一个字符串,如果找到,则将参数附加到找到字符串的行的末尾。我会通过这样做来调用这个脚本:
$bash- ./myscript.sh arg1 [arg2] ...
对于代码,我有类似的东西:
for ARGS in $*
do
gawk '{a[NR]=$0}/<patter to be found>/{a[NR]=a[NR] $ARGS}END{for(i=1;i<=NR;i++)print a[i]}' $ORIGFILE > $DESTFILE
cp $DESTFILE $ORIGFILE
done
问题是单引号不会扩展变量,我还没有找到正确的语法来完成这个。要么没有任何扩展,要么“$0”扩展并引发语法错误。
有什么建议么?
谢谢!