我希望将file2与file3连接起来而不将文件保存在磁盘中。
awk '...{print}' file1 > file2
cat file2 file3 > file4
如何在不保存file2的情况下执行此操作?
感谢您的帮助
答案 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
这将隐藏file1
和file3
并将其保存到file4
答案 3 :(得分:0)
您可以在没有子shell的情况下执行此操作:
awk '...{print}' file1 | cat - file3 > file4
甚至:
awk 'FNR!=NR {print;next} ... {do_stuff}' file1 file3 > file4
这将导致{1}处理file1,而file3将直接传递。