Вопрос Использование часов с трубами


Я хотел бы запустить эту команду:

watch -n 1 tail -n 200 log/site_dev.log | grep Doctrine

Но это не работает, потому что «я думаю», что grep пытается работать на часах вместо хвоста ...

Есть ли способ сделать что-то вроде

watch -n 1 (tail -n 200 log/site_dev.log | grep Doctrine)

Большое спасибо!


147
2018-05-12 19:23


происхождения




ответы:


Окружите команду кавычками

watch -n 1 'tail -n 200 log/site_dev.log | fgrep Doctrine'

234
2018-05-12 19:28



Что, если трубопровод также содержит кавычки (например, awk '{print $3}')? Редактировать: Как это - OrangeDog


Возможно, я ошибаюсь, но не может ли это сделать то же самое (просмотр похожих строк журнала по мере добавления) проще?

tail -f -n 200 log/site_dev.log | grep Doctrine

27
2018-05-12 20:16



Я согласен, что это может быть более эффективным с точки зрения процессора, но в контексте темы «Использование часов с трубами» он не использует часы, поэтому это не ответ. Это может быть случай низкого примерного вопроса, поскольку часы и трубы, кажется, часто появляются не в контексте хвоста. - tudor
Нет, я думаю, вы путаете средства и конец. Пользователь явно хотел видеть Doctrine прибывая в растущий файл, и когда он заглядывал в свою панель инструментов, единственное, что он нашел, это watch, То, что ему действительно нужно было знать, было tail -f, Смотрите также meta.stackexchange.com/questions/66377/what-is-the-xy-problem - dland
Я думаю, что это и приемлемые ответы. Верхний и принятый ответы правильно отвечают на поставленный поставленный вопрос, и этот ответ правильно идентифицирует Проблема XY что OP создан для себя и обеспечивает решение, которое они действительно хотели в первую очередь. Оба ответа могут быть легко полезны для кого-то, кто сталкивается с этим вопросом. - cdhowie
Я искал способ посмотреть shellcheck *.sh | grep line | wc -l и принятый ответ был полезен для меня. - Amedee Van Gasse