我試圖用AWK發佈此命令的最後一行(總磁盤空間)的第二行第二列:AWK打印最後一行
df --total
我使用的命令是:
df --total | awk 'FNR == NF {print $2}'
但它沒有得到正確的答案。 還有另一種方法可以做到嗎?
我試圖用AWK發佈此命令的最後一行(總磁盤空間)的第二行第二列:AWK打印最後一行
df --total
我使用的命令是:
df --total | awk 'FNR == NF {print $2}'
但它沒有得到正確的答案。 還有另一種方法可以做到嗎?
您可以使用tail
第一,然後使用awk
:
df --total | tail -1 | awk '{print $2}'
一種方式來做到這一點是有tail/awk
組合,前者得到公正的最後一行,後者打印第二柱:
df --total | tail -1l | awk '{print $2}'
甲純鐵awk
的解決方案是簡單地存儲每行的第二列,並打印出來底:
df --total | awk '{store = $2} END {print store}'
或者,因爲最終列在END
塊維持在最後一行,簡單地說:
df --total | awk 'END {print $2}'
您不需要將'$ 2'存儲爲一個變量,只需將其打印在結尾部分即可。 – Jotne
AWK沒有的「這是最後一行」的概念。 sed確實如此:
df --total | sed -n '$s/[^[:space:]]\+[[:space:]]\+\([[:digit:]]\+\).*/\1/p'
您還可以使用'--output'來表示您想要打印的確切字段。例如,'df --output = size |尾巴-1'。有關不必要的額外過程,請參閱[如何在linux df命令中選擇特定列](http://stackoverflow.com/a/28809214/1983854) – fedorqui