Scripting
剪切 / grep 和 df -h
如何grep或剪切“Verf”下的“173G”?
我需要這個用於學校的 Unix 腳本。
jonas@jonaspc:~/$ df -h /dev/sda2 Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf /dev/sda2 293G 121G 173G 42% /media/Windows
此類任務最舒適的解決方案是
awk
:df -h /dev/sda2 | awk 'NR==2{print$4}'
或者,如果列出了更多分區,您可以通過掛載點選擇正確的行:
df -h | awk '$1=="/dev/sda2"{print$4}'
也很簡單
sed
,但如果您需要在稍後安裝幾次後對其進行調試,則不太好:df -h /dev/sda2 | sed -rn '2s/^((\S+)\s+){4}.*/\2/p' df -h | sed -rn '/^\/dev\/sda2/s/^((\S+)\s+){4}.*/\2/p'
假設 GNU
sed
。POSIX 兼容語法包括許多轉義:df -h /dev/sda2 | sed -n '2s/^\(\(\S\+\)\s\+\)\{4\}.*/\2/p' df -h | sed -n '/^\/dev\/sda2/s/^\(\(\S\+\)\s\+\)\{4\}.*/\2/p'