Назад | Перейти на главную страницу

tee и grep одновременно (оболочка)?

Я пытаюсь запустить сервер, который записывает в $ log (текстовый файл), а затем найти весь текст в файле журнала, который начинается с [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] в другой файл?

Обычно это нормально:

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

Естественно, вам нужен только tee, если вы хотите иметь вывод на консоль, а также копировать в файл. Если вы начинаете и останавливаете этот процесс, вы можете пройти -a переключиться на тройник.

Что вы получили при запуске?

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

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