如何将输出文件从AWK脚本传递到cat中的参数?

时间:2010-12-08 10:51:16

标签: unix awk

我希望将file2与file3连接起来而不将文件保存在磁盘中。

awk '...{print}' file1 > file2 

cat file2 file3 > file4 

如何在不保存file2的情况下执行此操作?

感谢您的帮助

4 个答案:

答案 0 :(得分:3)

您可以使用子shell

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

答案 1 :(得分:0)

我更喜欢@Peter's answer,但是根据你的shell(bash / zsh / ...),你可以使用进程替换:

cat <(awk ...) file3 > file4

答案 2 :(得分:0)

您也可以只使用Awk:

awk FNR file1 file3> file4

这将隐藏file1file3并将其保存到file4

答案 3 :(得分:0)

您可以在没有子shell的情况下执行此操作:

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

甚至:

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

这将导致{1}处理file1,而file3将直接传递。