Linux-更改两个awk脚本之间的界限

时间:2013-08-08 23:55:52

标签: linux awk

我有两个在Linux中运行的awk脚本。每个输出都在一行。 如何将两个输出分成两行?

例如:

awk '{printf $1}' f.txt >> a.txt
awk '{printf $3}' f.txt >> a.txt

第一个脚本的输出是:

35 56 40 28 57

第二个输出是:

29 48 73 26

如果我一个接一个地运行它们,输出将变为:

35 56 40 28 57 29 48 73 26

有没有办法把结果发到:

35 56 40 28 57
29 48 73 26

谢谢!〜

1 个答案:

答案 0 :(得分:2)

虽然我不明白你是如何设法获得字段之间的空格的,但是你可以在第一个脚本中添加END语句:

awk '{printf $1} END{print "\n"}'

您也可以使用一个awk命令执行此操作:

awk -v ORS=" " 'BEGIN{ARGV[ARGC++] = ARGV[1]; i = 1 } 
                NR!=FNR && FNR==1 { printf "\n"; i=3 } 
                { print $i } 
                END { printf "\n" }' f.txt