Добавьте возврат каретки к выходу `tail` при использовании` grep`

Я хочу реорганизовать следующую команду:

tail -f production.log | grep -e "Processing " -e "compatible;" -e "Completed in " -e 

Это результат команды:

Обработка BasketController # cross_sell_product (для 85.189.237.x в 2011-08-03 12:46:07) [POST] «RequestLog», «2011-08-03 12:46:07», «12595», «www. «com.com», «/ basket / cross_sell_product / 113», «85.189.237.x», «Mozilla / 5.0 (совместимо, MSIE 9.0, Windows NT 6.1, WOW64; Trident / 5.0)» Завершено в 0.07853 (12 запросов / сек) | Рендеринг: 0,01402 (17%) | DB: 0,01439 (18%) | 200 OK [https://www.website.com/basket/cross_sell_product/113]

Это здорово, и именно то, что я хочу, однако, я бы хотел увидеть, это возврат на картер или два после этого, чтобы я мог изучать журналы как блоки.

Я пытался добавить \n до конца, но это не сработало.

2 Solutions collect form web for “Добавьте возврат каретки к выходу `tail` при использовании` grep`”

Я не уверен, что вы хотите, но awk, возможно, сделает это легко. Чтобы добавить дополнительную строку новой строки после каждой соответствующей строки:

 tail -f production.log | awk '/Processing|compatible;|Completed in / {print; print ""}' 

Чтобы добавить новую строку между всеми блоками несвязанных совпадающих строк:

 tail -f production.log | awk ' /Processing|compatible;|Completed in / { if (NR == n+1) print ""; n = NR; print; }' 

grep будет отфильтровывать пустые строки, поскольку они не соответствуют ни одному шаблону. В случае, если в исходном файле появляются разделители пустой строки, вы можете их пропустить, добавив -e "^$" .

Если эти пустые строки не присутствуют в исходном файле, вам придется их добавлять. Это пример того, как это сделать:

  tail -f production.log | grep -e … | sed 's/\(^Processing \)/\n\1/' 

Edit: если вы хотите, чтобы пустая строка после каждой строки использовала sed 's/$/\n/' . И, конечно, вы можете добавить столько \n сколько хотите.

  • Помощь с модификацией команды
  • Скользящее среднее в файле журнала с awk или другими утилитами unix?
  • Есть ли другой способ использовать tail -f для работы grep -q &&?
  • Трубопровод от grep до awk не работает
  • Каков самый простой способ выполнить текст из хвоста в командной строке?
  • Получение переходного PID из входа в поиск PS до его смерти
  • Редактирование текстового файла с Vim не обновляет tail -f
  • Время, необходимое для вывода трубы на голову / хвост
  • Только кошка из определенной строки X (с рисунком) в другую определенную строку Y (с рисунком)
  • Как изменить цвет символа при хвосте и tr
  • Можно ли «перевернуть» символическую ссылку на новый файл, не затрагивая никаких открытых дескрипторов файлов?
  • Interesting Posts

    Я хочу установить Kali Linux бок о бок на моей машине, которая в настоящее время работает на Ubuntu 12.10

    Удаление оператора перенаправления не изменяет выход. Зачем?

    Как я могу отбросить некоторые исходящие пакеты?

    Проблема с установкой Fedora 26: «Ошибка проверки конфигурации хранилища» (с использованием Live USB)

    Ошибка libGL / swrast при запуске Chrome-браузера над X

    Различное поведение по WIFI и LAN-Ethernet при подключении через VPN

    Увеличить размер шрифта в rxvt-unicode без редактирования ~ / .Xdefaults

    Почему установка / usr / bin автоматически устанавливается в / usr / bin / X11?

    NOQUEUE: SYSERR (root): opendaemonsocket: daemon MTA: сервер SMTP-разъем клин: выход

    Как я могу узнать / отобразить почтовый ящик, с которым связано конкретное сообщение с neomutt + notmuch?

    Как узнать, кто обратился к файлу или файл имеет доступ к монитору в Linux

    Невозможно создать загрузочную (живую) флэш-память usb для арки linux

    rsyslog не отбрасывает сообщение, как следует

    Переименование файлов для удаления строк в скобках

    PfSense VPN L2TP бежит с клиентами Windows

    Linux и Unix - лучшая ОС в мире.