Как grep в tail в нескольких файлах

316
bm13kk

Мне нужно привязать несколько файлов, и большую часть информации из них я удаляю (используя grep). Теперь мой вывод грязный с именами файлов. Как я могу их удалить?

Коротко к проблеме: $ tail -F /log/rest_server*.log | egrep -v ' INFO (<some regext>)'

вернуть:

==> /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 <== 

Как я могу удалить это имена файлов и черных линий, если нет данных?

сделать результат

==> /log/rest_server_dbs1.log <== <some useful data1> <some useful data2>  ==> /log/rest_server_dbm0.log <== <some useful data3> <some useful data4> 
0
Пожалуйста, добавьте еще несколько деталей. Понятия не имею, о чем ты спрашиваешь. Может быть, кто-то с необходимыми знаниями мог бы помочь вам, но вы затрудняете поиск вашего вопроса. user 99572 is fine 8 лет назад 0

1 ответ на вопрос

0
parapente

Вместо этого вы можете использовать следующие команды:

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

Команда sed удаляет строки, начинающиеся с «==>», и те, которые пусты;

с этим я получу ` `с потерей имен файлов, когда я получу необходимую информацию. Я могу сделать то же самое только с `grep`, без использования` sed` bm13kk 8 лет назад 0

Похожие вопросы