
¿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 df
dos 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 df
le permite especificar el archivo del dispositivo en la línea de comando:
df -x devtmpfs -Ph /dev/nvme*
Esto -x devtmpfs
es para evitar /dev
que el sistema de archivos aparezca cuando un dispositivo coincidente no está montado.
La -P
opción garantiza que df
no se romperá una línea incluso si una de las columnas es ancha.
La ventaja del segundo método es que df
espaciará las columnas adecuadamente para la salida.