我見過幾個關於如何搜索模式的例子,然後在該行附加一個特定的字符串。我想,我想要完成的事情有點不同。我正在編寫一個簡單的腳本,它將接受一個參數,在文件中搜索一個字符串,如果找到,則將該參數附加到找到該字符串的行的末尾。我想這樣做把這個腳本:BASH - 搜索文件的模式,然後追加該行
$ 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」擴展並引發語法錯誤。
有什麼建議嗎?
謝謝!
您確定要使用'$ *'? –