在 unix\shell\bash 中处理自删除控制台输出
handle self-deleting console outputs in unix\shell\bash
我想从 s3 下载一个大文件到服务器,所以我使用 nohup。
问题是,该过程输出“自我更新报告”,这些报告在终端中很酷,但在作为单个长行写入文件时却很糟糕。
我的问题是:
- 我应该如何处理此输出以避免只有一行的 84MB 文本文件?
- 鉴于我有这样一个文件,我怎样才能有效地阅读它的“底线”?
谢谢!
“self-updating”文本只是一个回车 return 字符,当它打印到终端时会将光标移回行首,允许您覆盖之前的任何文本行。
删除最后一个回车 return 字符之前的所有内容,
awk '{ sub(/.*\r/, ""); }1' file
或与任何正则表达式工具相同(如果您的 sed
识别非标准 \r
转义,sed 's/.*\r//' file
将起作用)。
一些工具有关闭进度更新的选项;如果您使用的是标准 aws s3 cp
,请尝试添加选项 --no-progress
.
我想从 s3 下载一个大文件到服务器,所以我使用 nohup。 问题是,该过程输出“自我更新报告”,这些报告在终端中很酷,但在作为单个长行写入文件时却很糟糕。
我的问题是:
- 我应该如何处理此输出以避免只有一行的 84MB 文本文件?
- 鉴于我有这样一个文件,我怎样才能有效地阅读它的“底线”?
谢谢!
“self-updating”文本只是一个回车 return 字符,当它打印到终端时会将光标移回行首,允许您覆盖之前的任何文本行。
删除最后一个回车 return 字符之前的所有内容,
awk '{ sub(/.*\r/, ""); }1' file
或与任何正则表达式工具相同(如果您的 sed
识别非标准 \r
转义,sed 's/.*\r//' file
将起作用)。
一些工具有关闭进度更新的选项;如果您使用的是标准 aws s3 cp
,请尝试添加选项 --no-progress
.