我想寫一個sed腳本來替換一部分行,但只在行中沒有「$」符號。Sed腳本匹配包含一個字符串,但不包含另一個字符串的行
例如,該文件可能看起來像
host=$myvar
param1=val1
param2=val2
host=abc
host=def
我要替換「主機= ABC」和「主機=高清」與「主機= ZZZZZ」而忽略了「主機= $ MYVAR」 。所以最終的輸出應該是這樣的:
host=$myvar
param1=val1
param2=val2
host=zzzzz
host=zzzzz
我試了幾個正則表達式,但他們沒有工作。
爲什麼在2個操作中,當單個替換可以通過使用'^ \(host = \)[^ $] *'來處理它時(請參閱下面的答案) – anubhava