2013-10-06 37 views
1

後,我有一個任務中獲得的輸出:移動第二排第四用awk

ps auxfwww | sort -k2n | head -n4 

然後我不得不重新安排它,用awk,讓我得到的結果是1,第3,第11列行2,3,4。但是這些行必須是3,4,2。我得到的最接近的是這樣的:

ps auxfwww | sort -k2n | head -n4 | awk 'NR>=3' | awk '{print $1, $3, $11}' 

但我不知道怎麼去行2行3和4

它還必須與單行命令完成後得到的。

請一些啓發:)

+0

你的意思,而不是「3,4,1」寫爲?附:如果你說它「必須用一個命令完成」,但你的工作到目前爲止使用了五個命令,包括兩個'awk's和一個不需要的'head',這真是太好笑了。 –

+0

確實是3,4,2我會編輯它。我的意思是單行命令,對於誤解抱歉,英語不是我的母語。 –

回答

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」 行3,第4行,其次是第2行。

+0

感謝這工作很棒:) –

+0

不錯,這比我的好! – janos

0
ps auxfwww | sort -k2n | awk 'NR<5{a[NR]=$1" "$3" "$11} END{print a[3] ORS a[4] ORS a[2]}'