Analisando a saída do comando df com awk

Analisando a saída do comando df com awk

Como posso armazenar a primeira linha da saída para imprimir como cabeçalho depois de combinar todas as linhas que começam com /dev/nvme?

No momento estou ligando dfduas vezes, mas gostaria de fazer isso de uma só vez com o awk.

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

Os resultados desejados seriam:

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

Responder1

Conforme observado por outros:

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

Alternativamente, o Linux dfpermite que você especifique o arquivo do dispositivo na linha de comando:

df -x devtmpfs -Ph /dev/nvme*

O -x devtmpfsobjetivo é evitar /devque o sistema de arquivos apareça quando um dispositivo correspondente não estiver montado.

A -Popção garante que dfnão quebrará uma linha mesmo que uma das colunas seja larga.

A vantagem do segundo método é que dfespaçará as colunas adequadamente para a saída.

informação relacionada