Scripting

剪切 / grep 和 df -h

  • September 27, 2018

如何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'

引用自:https://unix.stackexchange.com/questions/42047