2010-12-08 41 views

回答

3

你可以使用一個子shell

(awk '...{print}' file1; cat file3) > file4 
+0

剛剛測試了你的建議。它工作正常。知道這一點很方便,因爲我有大量的輸出,並沒有足夠的磁盤空間來保存它們。乾杯 – Tony 2010-12-08 11:06:08

+0

你不必使用子shell,使用大括號來分組當前shell中的命令:`{awk'...';貓文件3; }> file4`(尾隨分號和大括號周圍的空格是必需的) – 2010-12-08 16:57:43

0

我喜歡@Peter's answer,但是這取決於你的shell(bash中/ zsh中/ ...),你可以使用進程替換:

cat <(awk ...) file3 > file4 
0

您也可以只使用awk中:

awk FNR file1 file3> file4 

這將concenate file1file3並將其保存到file4

0

你可以不用一個子shell:

awk '...{print}' file1 | cat - file3 > file4 

甚至:

awk 'FNR!=NR {print;next} ... {do_stuff}' file1 file3 > file4 

這將導致文件1是由do_stuff處理,file3將直接通過。

相關問題