2012-08-22 71 views
0

所以我在這條線下面有點麻煩,我試圖在「可用空間」列中排序,但是相信由於「可用空間」而排序失敗:我有前面的文字,我將如何去分類$(NF -2)降序?Linux,在n列上排序

謝謝。

df -h/| egrep -v "Filesystem|xscsi" | sed '$!N;s/\n/ /' | awk '{printf "%-10s %s\n", $1, "\tTotal utilization: " $(NF -1)"(" $(NF -3) ")\tFree space: " $(NF -2)}' | sort -r -n -k 3 
+0

你能提供一些樣品輸入(你'DF的輸出之前的

df -h/| egrep -v "Filesystem|xscsi" | sed '$!N;s/\n/ /' 

命令的輸出進行排序 - h') - 否則這對我很好。另外,我不太清楚問題是什麼,所以也許你可以用一些輸出來證明這一點。 – Levon

+0

或者也許只提供用於排序的管道輸入部分... – Levon

+0

某些'df's支持'-P'選項,所以你不需要'sed ...'調用。祝你好運。 – shellter

回答

1

你可以添加文本,以便它成爲

df -h/| egrep -v "Filesystem|xscsi" | sort -r -n -k 3 | sed '$!N;s/\n/ /' | awk '{printf "%-10s %s\n", $1, "\tTotal utilization: " $(NF -1)"(" $(NF -3) ")\tFree space: " $(NF -2)}' 
+4

如果你正在排序'df -h'生成的數字,你應該使用'sort -h'而不是'sort -n',否則2M> 1G –