我正在使用下面的sed
命令進行搜索和替換操作。在第一個匹配項中搜索並替換字符串
sed -i '/searchstring/s|find string|replace string|g' filename
它改變輸入文件中的所有事件。我怎麼能只做一次。
謝謝。
例如,
a
a
b
b
a
c
d
此輸入文件。
命令我已經使用類似下面,
sed -i '/a/s|a|changed|g' filename
輸出我得到像下面,
changed
changed
b
b
changed
c
d
即,其進行的變更3次。我不得不改變一次。
的預期產出的,
changed
a
b
b
a
c
d
謝謝,需要的是我想只替換一次。但給定的命令替換所有行中的字符串。 – user3304467
+1也適用於gnu sed,它可以做'sed's/foo/bar/n''' n'是第n次出現。 – Kent
@ user3304467您應該在您的問題中指定整個文件中的「僅第一次出現」** – Kent