2013-08-05 20 views
0

我怎樣才能讓這個更好/更高效:查找分區大小使用DF和awk

df -h | grep /partition | awk '{print $3}' | awk '{$0=substr($0,1,length($0)-1); print $0}' 

這將打印/分區的大小(除去最後一個字符)。

回答

0

剛一管就足夠了:

df -h | awk 'NR > 1 && /partition/ {print substr($3,1,length($3)-1)}' 
+0

是的,我忘記了NR。謝謝。 – ibash

+0

不客氣,很高興它解決了問題。 – anubhava

0

可以使用sed代替awk再次:

df -h | grep "/partition" | awk '{print $3}' | sed -e 's,[A-Z]$,,' 

請記住,這(和你的一個班輪)不打印分區的大小,但大小使用

+0

這將打破,如果大小乘數分區是「G」以外的東西。 (字母「M」和「T」當然是可能的,至少)。 –

+0

是的,是的。改性。 –

1

另一個變化,告訴df做過濾,並使用awk小號gensub()代替:

df -h /partition | awk 'NR > 1 { print gensub("G$", "", "", $3) }'