我試圖用行集替換包含使用gawk
的模式的行。比方說,文件aa
包含gawk用於使用變量替換包含具有多行的模式的行使用變量
aaaa
ccxyzcc
aaaa
ddxyzdd
我使用GAWK更換含有某某用一組線111名\ N222的所有行,我改變的內容將包括:
aaaa
111
222
aaaa
111
222
但是,如果我使用方法:
gawk -v nm2="111\n222" -v nm1="xyz" '{ if (/nm1/) print nm2;else print $0}' "aa"
更改後的內容顯示:
aaaa
ccxyzcc
aaaa
ddxyzdd
我需要整行那些包含xyz
,即行ccxyzcc
和ddxyzdd
不得不被替換爲111
其次是222
。請幫忙。
用'/ NM1 /'你試圖文字字符串匹配 「NM1」。這就是爲什麼你必須說'$ 0〜nm1'來匹配變量'nm1'的內容。 – fedorqui