2013-10-14 34 views
0

我想更改源文件中的某些文本並使用unix將其置於目標文件中。 使用sed我可以做unix - 將修改後的源文件複製到目標文件

sed -i 's/FIND TEXT/REPLACE TEXT/g' source.txt 

但這種替換在同一個文件中的文本。我想是這樣

sed -i 's/FIND TEXT/REPLACE TEXT/g' source.txt dest.txt 

其中source.txt不被修改,但變化是有在dest.txt

回答

2

所以後來不這樣做原地。

sed 's/FIND TEXT/REPLACE TEXT/g' source.txt > dest.txt 
+0

謝謝。這工作。我如何修改此以便我可以替換多個文本。例如,'sed'/ FIND TEXT1/REPLACE TEXT1/g'source.txt> dest.txt'和'sed's/FIND TEXT2/REPLACE TEXT2/g'source.txt> dest.txt'。在一個腳本文件中,如果我試圖一個接一個地執行此操作,那麼當我執行第二個命令時,首先發生的更改將丟失。 – arunmoezhi

+1

在單個調用中執行兩個命令。 'sed's/FIND TEXT1/REPLACE TEXT1/g; s/FIND TEXT2/REPLACE TEXT2/g'source.txt> dest.txt' –

+0

完美無缺!再次感謝 :) – arunmoezhi

1

做同樣與awk

awk '{gsub(/FIND TEXT1/,"REPLACE TEXT1");gsub(/FIND TEXT2/,"REPLACE TEXT2")}1' source.txt > dest.txt 

gsub()替換它找到

1所有文本可以打印所有線替換已經完成之後。

相關問題