如何在"awk script"完全执行之前更早地执行和打印"sort"以便我可以在排序的数据之后添加一些东西?



所以,我基本上想将排序后的数组/数据存储到另一个数组中,并使用该数据打印其他内容?

即使我想要页脚,排序后的数据也会打印在页脚之后。

printf ("    %-25s %-20s %dn", employee_name[working_employee_id[y]], title[employee_name[working_employee_id[y]]], salary[employee_name[working_employee_id[y]]]) | "sort -nr -k2"

我想在执行完这行之后打印其他东西,而不是让排序在结束时打印

如果您想确保要通过管道发送的命令在页脚文本之前完成所有输出,那么在打印其他内容之前,您需要先close()输入末尾的管道。

示例:

$ paste <(seq 10 | shuf) <(seq 10 | shuf) |
awk '{ printf "%dt%dt%dn", $1, $2, $1 + $2 | "sort -k1,1n" }
END { close("sort -k1,1n"); print "atbtc" }'
1   8   9
2   3   5
3   6   9
4   4   8
5   2   7
6   10  16
7   9   16
8   1   9
9   7   16
10  5   15
a   b   c

最新更新