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;
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>
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;