使用AWK连接两个文件的某些行,然后对合并的文件进行排序

时间:2014-06-05 16:38:56

标签: bash awk

我使用以下AWK命令对文件的前24行之后的内容进行排序:

awk 'NR <= 24; NR > 24 {print $0 | "sort -k3,3 -k4,4n"}' file > newFile

现在我想首先加入两个文件(现在只丢弃两个文件的前24行),然后对合并后的文件进行排序。有没有办法在不生成临时合并文件的情况下执行此操作?

1 个答案:

答案 0 :(得分:1)

awk 'FNR > 24' file1 file2 | sort -k3,3 -k4,4n > newFile

FNR是文件记录编号(每个文件的第一行重置为1)。如果您坚持在sort脚本中使用awk,则可以使用:

awk 'FNR > 24 { print $0 | "sort -k3,3 -k4,4n" }' file1 file2 > newFile

但我更喜欢贝壳做我的滚边。