
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 df
duas 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 df
permite que você especifique o arquivo do dispositivo na linha de comando:
df -x devtmpfs -Ph /dev/nvme*
O -x devtmpfs
objetivo é evitar /dev
que o sistema de arquivos apareça quando um dispositivo correspondente não estiver montado.
A -P
opção garante que df
não quebrará uma linha mesmo que uma das colunas seja larga.
A vantagem do segundo método é que df
espaçará as colunas adequadamente para a saída.