同时使用 tee 和 grep (shell)?

同时使用 tee 和 grep (shell)?

我正在尝试运行一个写入 $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] 开头的所有文本复制到另一个文件?

答案1

通常这样做是可以的:

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

当然,如果您希望获得控制台输出以及复制到文件,则只需要 tee。如果您要启动和停止此过程,您可能需要将开关传递-a给 tee。

答案2

运行它时你得到了什么?

尝试替代方案:

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

相关内容