Почему комбинация tail + grep + cut не работает?

Я хотел, чтобы grep некоторые журналы, а хвост их, и печатать только часть каждой строки, так как строки слишком длинны.

Я не могу понять, почему комбинация, которую я использую, не работает; процедура следующая:

echo 'Jun 29 16:27:00 someip rails[pid]: Killed a transaction Jun 29 16:28:00 someip rails[pid]: Killed a transaction' > /tmp/test # Shows the lines tail -f /tmp/test | grep Killed # Shows the lines grep Killed /tmp/test | cut -c -43 # Shows the lines cat /tmp/test | grep Killed | cut -c -43 # Doesn't show them tail -f /tmp/test | grep Killed | cut -c -43 

Почему последняя комбинация не работает?

One Solution collect form web for “Почему комбинация tail + grep + cut не работает?”

Как отмечается в комментариях, проблема связана с буферизацией. Что вы можете сделать, так это запустить команду с stdbuf как показано здесь .

 stdbuf -i0 -o0 -e0 tail -f /tmp/test | grep Killed | cut -c -43 

На стороне примечания, вы, вероятно, могли бы избавиться от grep и cut трубопровод и использовать:

 stdbuf -i0 -o0 -e0 tail -f /tmp/test | awk '/Killed/{print substr($0,length($0)-43)}' 
  • Перенаправить выход хвоста в файл, а затем остановить, когда найдено совпадение
  • Временно заморозить процесс при взаимодействии оболочки
  • Преобразование строк новой строки в нуль-ограничение при использовании хвоста
  • Получение переходного PID из входа в поиск PS до его смерти
  • Только кошка из определенной строки X (с рисунком) в другую определенную строку Y (с рисунком)
  • Tail Grep - печать окружающих линий до тех пор, пока шаблон не будет сопоставлен
  • Периодически получать новые строки из файла, возможно, зависания
  • Проверьте, является ли условие awk совпадением в лог-файле
  • bash syntax - команда обертывания внутри sudo :: tail logs до тех пор, пока строка не будет найдена с таймаутом с использованием Terraform
  • Выполнение хвоста -f в текстовом файле поверх sshfs не работает. Зачем?
  • Команда для удаления первого N числа строк на входе
  • Interesting Posts

    Использовать netconsole для отладки с сбоем ядра

    Правило Удева не устанавливает группу

    Как заставить десятичное сложение (# 10) при добавлении чисел с переносом (восьмеричная проблема)

    if else bash script

    Как приостановить (или захватить) сообщения, которые пролетают в конце последовательности запуска?

    Графический планшет Genius (WP8060U) не работает на Debian

    Изменить тип EAP по умолчанию в hostapd

    Невозможно смонтировать общий ресурс nfs из netapp в centos 7

    Почему все мои попытки SSH терпят неудачу из-за таймаута?

    Как настроить пользователей, права собственности и разрешения на локальных и удаленных серверах?

    Замена шаблона в строке, предшествующей другому интересующему образцу

    Вызов URL-адреса debian из командной оболочки

    Программа классной книги, которая работает на gentoo

    мы повторно запустим `createrepo` после копирования новых файлов в репозитории

    Почему § разрешает мне удалять два символа в bash promt?

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