трійник і греп одночасно (оболонка)?


0

Я намагаюся запустити сервер, який записує в $ log (файл txt), а потім знайти весь текст у логфайлі, який починається з [1], і помістити його в інший файл. Ось моя спроба. tee -a $logпрацює разом із усім іншим. Однак команда grep не має.

run="tail -n0 -f -s 0.01 $cmds | (while true; do $tron --userconfigdir $userconfigdir --userdatadir $userdatadir --vardir $var; done) | tee -a $log | grep '^\[1\]' > ${var}logs/chatlogs.log"

Що можна зробити, щоб скопіювати весь текст tee -a $logпочинаючи з [1] в інший файл?


У чому проблема grep? ви отримуєте помилку? Немає виходу в ${var}logs/chatlogs.log? Немає результатів, ${var}logs/chatlogs.logнавіть якщо ви ретельно перевірили, що десь там має бути (наприклад, запустивши греп, $logнезалежно)?
huitseeker

Вибачте, що не уточнив. Виходу на chatlogs.log
dukevin

Я не вірю, що проблема в грепі, але перед цим. Якщо ви видалите, чи tee -a $logпрацює це? певно, ні
hmontoliu

Відповіді:


1

Звичайно це добре:

tail -f /var/log/mylog | egrep '^<txttomatch>' | tee /tmp/watchlog

Звичайно, вам потрібен лише трійник, якщо ви хочете мати консольний вихід, а також копіювати у файл. Якщо ви запускаєте і зупиняєте цей процес, можливо, ви захочете перейти -aкомутатор до трійника.


буде txttomatch, буде <>або без нього
dukevin

Я використовував <txttomatch> для заповнення місця. Отже, якщо ви хотіли, щоб лінії починалися від jonny або Jonny, ви могли б виграти -i "^ jonny". ^ Прив’язує візерунок до початку рядка.
rorycl

0

Що ви отримали під час запуску?

Спробуйте альтернативу:

... tee -a $log >(grep '^\[1\]' > ${var}logs/chatlogs.log)

не пощастило, ще чистий файл
герцог

Ви впевнені , що вихід в тому числі кілька рядків , що починаються з [1]: grep '^\[1\]' $log?
кванта

Так, наприклад, це файл $ log також є теедом: pastebin.com/NaubAKqu
dukevin

Не знаю, чому це не працювало з вами. Спробуйте ще раз з:tee >(grep '^\[1\]' > ${var}logs/chatlogs.log) >> $log
quanta

це теж не спрацювало :(
dukevin
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.