Como fazer a cauda em vários arquivos

0

Eu preciso seguir vários arquivos, e mais informações deles removendo (usando grep). Agora a minha saída está suja com nomes de arquivos. Como posso removê-los?

Curto ao problema: $ tail -F /log/rest_server*.log | egrep -v ' INFO (<some regext>)'

retorno:

==> /log/rest_server_dbs0.log <==

==> /log/rest_server_dbs1.log <==
<some useful data1>

==> /log/rest_server_dbs0.log <==

==> /log/rest_server_dbs1.log <==
<some useful data2>

==> /log/rest_server_dbs0.log <==

==> /log/rest_server_dbs1.log <==

==> /log/rest_server_dbs0.log <==

==> /log/rest_server_dbs1.log <==

==> /log/rest_server_dbm0.log <==
<some useful data3>

==> /log/rest_server_dbs1.log <==

==> /log/rest_server_dbs0.log <==

==> /log/rest_server_dbs1.log <==

==> /log/rest_server_dbs0.log <==

==> /log/rest_server_dbs1.log <==

==> /log/rest_server_dbs0.log <==

==> /log/rest_server_dbs1.log <==

==> /log/rest_server_dbm0.log <==
<some useful data4>

==> /log/rest_server_dbs1.log <==

Como posso remover esses nomes de arquivos e linhas pretas, se não houver dados?

para fazer o resultado

==> /log/rest_server_dbs1.log <==
<some useful data1>
<some useful data2>

==> /log/rest_server_dbm0.log <==
<some useful data3>
<some useful data4>
    
por bm13kk 06.01.2016 / 21:03

1 resposta

0

Você pode usar os seguintes comandos:

$ tail -F /log/rest_server*.log | sed -e "/^==>/d;/^$/d" | egrep -v ' INFO (<some regext>)'

O comando sed remove as linhas que começam com "== >" e aqueles que estão vazios;

    
por 06.01.2016 / 22:12