我有一些文本文件,其中有几列。我使用 awk 仅将我想要的列写入稍后分析的输出文件中。
awk 'BEGIN {FS="\t"}; {print $2,FS,$3,FS,$4} input_files*.txt >> output_file.txt
Run Code Online (Sandbox Code Playgroud)
我可以更进一步,根据 $5 列的值将 awk 命令的输出重定向到多个文件吗?如果列 $5 = A、B、C 和 DI 最终结果如下:
output_file_A.txt
output_file_B.txt
output_file_C.txt
output_file_D.txt
Run Code Online (Sandbox Code Playgroud)
谢谢。
卡洛斯
awk 'BEGIN {FS="\t"}; {print $2,FS,$3,FS,$4 >> "output_file_"$5} input_files*.txt
Run Code Online (Sandbox Code Playgroud)
其中的重定向awk工作方式与终端完全相同。