Почему комбинация tail + grep + cut не работает?
Я хотел, чтобы grep некоторые журналы, а хвост их, и печатать только часть каждой строки, так как строки слишком длинны.
Я не могу понять, почему комбинация, которую я использую, не работает; процедура следующая:
- Как эхо из определенной строки файла в другую определенную строку
- Как я могу контролировать файл, который полностью воссоздается во время его запуска?
- Получение переходного PID из входа в поиск PS до его смерти
- bash syntax - команда обертывания внутри sudo :: tail logs до тех пор, пока строка не будет найдена с таймаутом с использованием Terraform
- Подавлять сообщения об усечении файла при использовании хвоста
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
Почему последняя комбинация не работает?
- Греп от конца файла до начала
- Как извлечь первую и последнюю строки в файле?
- Найдите кучу gps-файлов в папке для окончательного расстояния, выведите список расстояний
- Tail Grep - печать окружающих линий до тех пор, пока шаблон не будет сопоставлен
- Как использовать tail -f с grep для отображения окружающих линий
- Как активно grep log за последние 15 секунд для фразы?
- Добавьте возврат каретки к выходу `tail` при использовании` grep`
- Как преобразовать часовой пояс в журналы, поскольку они хвостают
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)}'
- Сроки выполнения скриптов с помощью usbmount
- Как получить доступ к физической памяти из пользовательского пространства?