¿Cómo puedo grep o cortar el "173G" en "Verf"?
Necesito esto para las secuencias de comandos de Unix en la escuela.
[email protected]:~/$ df -h /dev/sda2
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
/dev/sda2 293G 121G 173G 42% /media/Windows
Respuesta aceptada:
La solución más cómoda para tal tarea es awk
:
df -h /dev/sda2 | awk 'NR==2{print$4}'
O si se enumeran más particiones, puede seleccionar la línea correcta junto al punto de montaje:
df -h | awk '$1=="/dev/sda2"{print$4}'
También es simple con sed
, pero menos agradable si necesita depurarlo unos cuantos montajes más tarde:
df -h /dev/sda2 | sed -rn '2s/^((\S+)\s+){4}.*/\2/p'
df -h | sed -rn '/^\/dev\/sda2/s/^((\S+)\s+){4}.*/\2/p'
Eso supone GNU sed
. La sintaxis compatible con POSIX incluye muchos escapes:
df -h /dev/sda2 | sed -n '2s/^\(\(\S\+\)\s\+\)\{4\}.*/\2/p'
df -h | sed -n '/^\/dev\/sda2/s/^\(\(\S\+\)\s\+\)\{4\}.*/\2/p'