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