Analizando la salida del comando df con awk

Analizando la salida del comando df con awk

¿Cómo puedo almacenar la primera línea de salida para imprimirla como encabezado después de hacer coincidir todas las líneas que comienzan con /dev/nvme?

Ahora mismo estoy llamando dfdos veces, pero me gustaría hacerlo de una vez con awk.

df -h | grep '^Filesystem' && df -h | grep '^/dev/nvme'

Los resultados deseados serían:

Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p2  ...
/dev/nvme0n1p1 ...

Respuesta1

Como lo señalaron otros:

df -Ph | awk 'NR == 1 || $0 ~ "^/dev/nvme"'

Alternativamente, Linux dfle permite especificar el archivo del dispositivo en la línea de comando:

df -x devtmpfs -Ph /dev/nvme*

Esto -x devtmpfses para evitar /devque el sistema de archivos aparezca cuando un dispositivo coincidente no está montado.

La -Popción garantiza que dfno se romperá una línea incluso si una de las columnas es ancha.

La ventaja del segundo método es que dfespaciará las columnas adecuadamente para la salida.

información relacionada