首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >'cat file‘stdout与'cat file > textfile’不同

'cat file‘stdout与'cat file > textfile’不同
EN

Stack Overflow用户
提问于 2019-04-18 02:39:22
回答 1查看 46关注 0票数 1

当我测试我的亚马逊网络服务备份数据(用$(aws同步日志文件)收集)时,当我' cat‘该文件时,数据看起来很好,但是如果我'grep yada yada|sed yada yada backup.log > newfile',然后通过管道将其发送到’s3‘或使用'vi’查看它,它现在会在标准输出中显示额外的字符。举个例子:

cat到标准输出

代码语言:javascript
复制
$ cat aws.tail.log
Starting aws backup Wed Apr 17 00:01:01 EDT 2019

upload: zim/Beer/.zim/state.conf to s3://...
upload: Documents/testfile to s3://...



Completed  aws backup Wed Apr 17 00:01:52 EDT 2019

cat重定向至文件

代码语言:javascript
复制
$ cat aws.tail.log > aws.email.txt
$ vi aws.email.txt  

here's what I see in vi:

Starting aws backup Wed Apr 17 00:01:01 EDT 2019
Completed 0 file(s) with ~0 file(s) remaining (calculating...)^M                                                              
Completed 2.5 KiB/~225.5 KiB (14.8 KiB/s) with ~3 file(s) remaining (calculating...)^Mupload: zim/Beer/.zim/state.conf to s3://
Completed 2.5 KiB/~225.5 KiB (14.8 KiB/s) with ~2 file(s) remaining (calculating...)^MCompleted 3.5 KiB/~225.5 KiB (3.5 KiB/s) with ~2 file(s) remaining (calculating...) ^Mupload: zim/Beer/h
ouse/tech/sterling/notifications.txt to s3://
Completed 226.1 KiB/~226.1 KiB (70.3 KiB/s) with ~0 file(s) remaining (calculating...)^M                                                                                      
Completed 0 file(s) with ~0 file(s) remaining (calculating...)^MCompleted 0 file(s) with ~0 file(s) remaining (calculating...)^MCompleted 0 file(s) with ~0 file(s) remaining (calculating...)
^MCompleted 0 file(s) with ~0 file(s) remaining (calculating...)^MCompleted 0 file(s) with ~0 file(s) remaining (calculating...)^MCompleted 0 file(s) with ~0 file(s) remaining (calculating..
.)^MCompleted 0 file(s) with ~0 file(s) remaining (calculating...)^MCompleted 0 file(s) with ~0 file(s) remaining (calculating...)^MCompleted 0 file(s) with ~0 file(s) remaining (calculating
...)^MCompleted 0 file(s) with ~0 file(s) remaining (calculating...)^M

当我使用$(cat daily_stats.txt |mail -s "subject“$EMAIL)或$(mail -s "subject”$EMAIL )发送电子邮件时,这也会显示在电子邮件正文中

我尝试过过滤掉^M个字符,但它只能做到这一点。也尝试过: sed -r "s/\x1B[(0-9{1,2}(;0-9{1,2})?)?m|K//g“和perl -p -e 's/\r//g‘

而且,额外的行数(已完成0个文件,剩余~0个文件(计算中...)^M)

有谁知道如何将我看到的来自'cat‘的stdout转换成电子邮件或文本文件,而不需要额外的jazz?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-18 03:36:09

这应该是可行的:

代码语言:javascript
复制
cat aws.tail.log | col -b > aws.email.txt

我建议针对该工具提交一个bug,写下关于自动检测非终结符和不使用控制字符的日志。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55734050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档