我有一些文本文件有几列。我正在使用awk只将我想要的列写入输出文件,我稍后会分析。
awk 'BEGIN {FS="\t"}; {print $2,FS,$3,FS,$4} input_files*.txt >> output_file.txt
我可以更进一步,将我的awk命令的输出重定向到多个文件,具体取决于let $ say column $ 5的值吗?如果列$ 5 = A,B,C和D,我最终会得到类似的结果:
output_file_A.txt
output_file_B.txt
output_file_C.txt
output_file_D.txt
感谢。
卡洛斯
答案 0 :(得分:2)
您可以使用此awk
:
awk 'BEGIN {FS="\t"}; {fn="output_file_" $5 ".txt"} {print $2,FS,$3,FS,$4 > fn} input_files*.txt
答案 1 :(得分:2)
awk 'BEGIN {FS="\t"}; {print $2,FS,$3,FS,$4 >> "output_file_"$5} input_files*.txt
awk
中的重定向与终端完全相同。