避免将进度条写入linux

时间:2016-01-04 14:48:13

标签: linux bash stdout

我有一个打印输出的进程,但此输出还包括加载条。

我想将此输出写入文件并显示此输出。

通常我可以这样做:

./my_process.sh | tee -a my_log_file.txt

./my_process.sh >> my_log_file.txt
tail -f my_log_file.txt

这会将所有内容打印到我的终端,但它也会将所有内容打印到日志文件中,包括进度条的每一步!

我想将进度条迭代排除在打印到日志文件之外。

出于我的目的,可以从日志文件中排除任何带回车符的行。如何将回车行排除在附加到日志文件中,同时仍然将它们打印到终端上的stdout?

1 个答案:

答案 0 :(得分:2)

您可以在记录前过滤发球台

例如

$ echo -e "progress_ignore\r\nlog this\nprogress_ignore\r" | tee >(awk '!/\r/' >> output.log)
progress_ignore
log this
progress_ignore

$ cat output.log
log this