2010-09-24 4 views
4

Мне нужно гарантировать, что в активном файле журнала появится определенная строка, означает, что операция активна (подача этого счета на триггер).tail file - количество строк с заданным шаблоном

Учитывая, я буду делать это удаленно, я не могу пойти с «хвостом -f имя_файла» иначе он будет следовать файл на неопределенный срок, , таким образом, я думаю о захвате кучу последних написанных строк и их подсчета as,

tail -n8 /var/log/service/service_V138/operations.log| grep \|DONE\| | wc -l 

Есть ли лучший способ?

+0

Я думаю, что вы его получили уже. – karlphillip

+1

Ваш «вопрос» был самым полезным ответом для моей конкретной ситуации. Спасибо, что спросили об этом и обменялись тем, что вы уже делали! – jmort253

+1

@ jmort253, вот почему stackoverflow и его братья и сестры настолько полезны. Рад, что это помогло вам :) –

ответ

4

Вы можете улучшить это немного, удалив трубу до wc и используя вместо этого grep -c.

tail -n8 /var/log/service/service_V138/operations.log | grep -c \|DONE\| 
+0

Спасибо. Мое главное сомнение заключалось в том, что был какой-либо альтернативный метод, чтобы следить за файлом за несколько секунд до отключения, , гарантируя, что файл был активно записан, просто не имеет данной строки. –

+0

tail -f -n + 1 apache-tomcat-7.0.63/logs/localhost_access_log.2017-01-29.txt | grep -c lenskart не работает для меня. Есть идеи? – sampopes

1

менее + F -N somelogfile.log? Шаблон простой и легкий

+0

Следуя журналу, , вставив паузу в скрипт, и подавая ssh, через несколько секунд нажмите «CTRL + C»? –