Captura coluna específica da saída do comando

2

Eu sei como redirecionar as primeiras 5 linhas da saída para um arquivo quando eu executar um comando. Eu quero saber como redirecionar apenas informações específicas da saída.

Por exemplo, eu gostaria de executar o comando "free -m" e redirecionar a coluna "used" da saída para um arquivo de texto.

Como fazer isso sem editar toda a saída manualmente?

    
por Xleboniarhs Jon 08.06.2015 / 01:41

1 resposta

2

Tenho certeza de que há respostas mais elegantes, mas isso deve funcionar:

free -m | awk '{if (NR == 1) {print $2} else {print $3}}' > file.out

Este comando pega a saída padrão de free -m e envia para awk . Para a primeira linha, imprime a segunda coluna (aqui, o título da coluna de interesse), caso contrário, imprime a terceira coluna (as linhas subsequentes em free -m têm uma coluna extra).

    
por 08.06.2015 / 01:47