Analisando a saída do comando df com o awk

4

Como posso armazenar a primeira linha de saída para imprimir como um cabeçalho após corresponder todas as linhas que começam com /dev/nvme ?

Agora mesmo estou chamando df duas vezes, mas gostaria de fazer isso em uma passagem 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 ...
    
por jes516 24.04.2017 / 04:24

1 resposta

5

Como observado por outros:

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

Como alternativa, o Linux df permite que você especifique o arquivo do dispositivo na linha de comando:

df -x devtmpfs -Ph /dev/nvme*

O -x devtmpfs é para evitar que o sistema de arquivos /dev apareça quando um dispositivo correspondente não estiver montado.

A opção -P garante que df não interrompa uma linha, mesmo que uma das colunas seja ampla.

A vantagem com o segundo método é que df irá espaçar as colunas apropriadamente para a saída.

    
por 24.04.2017 / 05:18

Tags