假設有一個文字檔如下:
Hello world
types=""
Mario
types="Game"
我想做的是找到第一個出現的type=""
單字“program”並附加它。我需要輸出為:
Hello world
types="program"
Mario
types="Game"
我需要在 Unix shell 腳本中使用它。我嘗試的是:
sed -i '1,/types=""/s/types=""/types="program"/' filename
正如該命令所示,它只是插入,而不是附加。我嘗試添加a\
但仍然不起作用。
答案1
您的sed
一行替換似乎已經按您的預期工作:
$ cat t.txt
Hello world
types=""
Mario
types="Game"
$ sed '1,/types=""/s/types=""/types="program"/' t.txt
Hello world
types="program"
Mario
types="Game"
可能值得編輯你的問題以顯示什麼你運行sed
命令時獲取(不帶-i
選項,以便將結果列印到終端)。
順便說一句,你的範圍1,/types=""/
是多餘的。您可以將其簡化為:
sed '/types=""/s/types=""/types="program"/' t.txt