避免在 Linux 中将进度条写入文件

mgo*_*ser 4 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
Run Code Online (Sandbox Code Playgroud)

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

我想排除进度条迭代被打印到日志文件中。

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

kar*_*kfa 5

您可以在记录之前过滤 T 恤

例如

$ 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
Run Code Online (Sandbox Code Playgroud)