0
我正在使用GNU sed命令(GNU sed version 4.2.1)進行搜索並在文件中進行替換。 我希望輸入文件保持不變,因此我使用sed的文件寫入選項。GNU sed排除不匹配的行
以下是命令
sed -e "s/INSERT/UPDATE/w output.txt" "input.txt"
但隨着上述命令的問題是,它不寫不匹配的行。即,如果沒有找到該文本則被搜索的文本所在的行沒有被寫入output.txt文件。
我要被寫入output.txt的
匹配的行如何可以做到這一點?
謝謝choroba,第一個選項的工作。我知道第三個選項,但我不能使用它,因爲c#不允許它執行通過ProcessInfo對象提供重定向選項。 – Sagar
只是爲了解釋發生了什麼,表達式「/// w」的意思是「寫入,如果替換成功」,而///; w'是替換和(無條件)寫入的兩個命令。 – tripleee
我對'c#'一無所知,但是ProcessInfo對象肯定會允許你寫'sh -c「sed ...> output.txt」'。 –