Come posso grep o tagliare il "173G" in "Verf"?
Ho bisogno di questo per lo scripting Unix a scuola.
[email protected]:~/$ df -h /dev/sda2
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
/dev/sda2 293G 121G 173G 42% /media/Windows
Risposta accettata:
La soluzione più comoda per tale compito è awk
:
df -h /dev/sda2 | awk 'NR==2{print$4}'
Oppure, se sono elencate più partizioni, puoi scegliere la linea giusta in base al punto di montaggio:
df -h | awk '$1=="/dev/sda2"{print$4}'
È anche semplice con sed
, ma meno utile se è necessario eseguire il debug alcuni mount dopo :
df -h /dev/sda2 | sed -rn '2s/^((\S+)\s+){4}.*/\2/p'
df -h | sed -rn '/^\/dev\/sda2/s/^((\S+)\s+){4}.*/\2/p'
Ciò suppone GNU sed
. La sintassi compatibile con POSIX include molti caratteri di escape:
df -h /dev/sda2 | sed -n '2s/^\(\(\S\+\)\s\+\)\{4\}.*/\2/p'
df -h | sed -n '/^\/dev\/sda2/s/^\(\(\S\+\)\s\+\)\{4\}.*/\2/p'