我有一个任务来获得输出:
ps auxfwww | sort -k2n | head -n4
然后我必须使用awk重新排列它,以便得到行2,3,4的第1,第3,第11列。但行必须按顺序3,4,2。我得到的最接近的是:
ps auxfwww | sort -k2n | head -n4 | awk 'NR>=3' | awk '{print $1, $3, $11}'
但我不知道如何在第3行和第4行之后获得第2行。
还必须使用单行命令完成。
请说清楚:)
答案 0 :(得分:2)
ps auxfwww | sort -k2n | head -n4 | awk '{ a[i++] = $1" "$3" "$11 } END { print a[2]; print a[3]; print a[1] }'
这将打印第3行,第4行,然后是第2行。
答案 1 :(得分:0)
ps auxfwww | sort -k2n | awk 'NR<5{a[NR]=$1" "$3" "$11} END{print a[3] ORS a[4] ORS a[2]}'