Я пытаюсь запустить сервер, который записывает в $ 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)