對不起,令人困惑的標題,我無法完整地說出我正在嘗試在沒有示例的情況下做什麼。Sed(或awk)替換在列表中找到的主機
我有一串命令,我運行產生的輸出,看起來像以下:
Host_A
Host_B
Net_X
Group_Y
等等等等
我想然後採取輸出,並將其送入sed,以便它將使用新字符串(如Host_Q)替換在前一個列表中找到的任何字符串實例。
sed 's/Host_A/Host_Q/g'
工作正常,但我想避免必須手動爲每個主機寫一個sed字符串。
謝謝!
編輯:更好的例子
grep的流產生:
Host_A
Host_B
Host_C
Host_D
+lots more
我想的是用grep流sed的管,並且已經sed的與新的(雖然相同)主機名替換那些主機的所有實例。
Editx2:另外,列表是動態的。因此,每種類型都是針對一個新文件運行的,內容會有所不同,這就是爲什麼我不能(也不想)對原始值進行硬編碼。
編輯:::
我想出了我自己,對不起的傢伙。
我正在流,像這樣:
awk '{print "sed \x27s\/"$1"/HOST_Q/g\x27"}'
對不起,被如此該死的混亂
這是一個http://stackoverflow.com/questions/15829445/multiple-regex-replacements-based-on-lists-in-multiple-files的副本,或者至少可以找到這個問題的解決方案線。 – 2013-04-05 15:44:17
您的問題不明確,我不確定自己的理解是否正確,您是否可以更具體? – 2013-04-05 15:45:48
編輯是否更好? – Numpty 2013-04-05 15:50:03