我是脚本的新手,但我正在为我的NAS编写一个小的rsync脚本。我现在正在尝试编辑rsync" stats"的输出。参数。
因为这个参数提供了很多细节,而我只需要最终的结果,所以我首先只保留我想要的部分:
sed -e '/Number/,$!d' $log > tmp && mv tmp $log
所以现在的输出看起来像这样:
那么我想从每一行中删除那种时间戳:
sed -e 's,.*] ,,' $log > tmp && mv tmp $log
所以现在它看起来像这样(在Outlook中,因为我通过电子邮件发送此结果):
那么,我想我可以添加一个新行。我尝试了多种可能性,但它没有按照我想要的方式工作。我不能给你看第三张照片。
你对我有什么建议:)?谢谢你的帮助!
答案 0 :(得分:1)
感谢Lars的回答。你的代码做了我想要的,但问题仍然存在。
幸运的是,我发现了outlook的问题:https://naveensnayak.wordpress.com/2012/08/30/ms-outlook-messing-up-line-breaks/
因此,我没有添加新行,而是对代码进行了一些改动:
sed -e 's,.*], ,' $log > tmp && mv tmp $log
因为我的括号(]后面有一个空格,并且我添加了第二个空格,现在我的文件在Outlook中看起来不错。
答案 1 :(得分:0)
您可以使用echo命令为文件添加换行符:
> cat test.txt
1
2
3 > echo -e "\n" >> test.txt
> cat test.txt
1
2
3
>
-e
启用反斜杠解释"\n"
被解释为换行符>>
附加而不是覆盖