我正在开发一个脚本,用于从.log文件中提取备份的数据量并通过电子邮件发送给我。我相信“sed”功能可以做到这一点。以下命令显示了我想要查看的内容。特别是,如何提取文本“备份6.776 GB”?如果数字变化并变为TB,则“sed”应该仍然有效。可以“sed”这样做吗?
命令:
grep "Backed-up" Daily_Backups-Exchange-1376798400228#0-3018-Exchange_VSS_Writer_2007.log
输出:
2013-08-18 00:12:44 avtar Info <6083>: Backed-up 6.776 GB in 0.03 minutes: 12,301 GB/hour (0 files/hour)
答案 0 :(得分:0)
此sed
行应该有效:
grep "Backed-up" filename.log |sed -e 's/^.* \(Backed-up [0-9\.]* [MGT]B\) in .*$/\1/'
匹配MB,GB和TB。
答案 1 :(得分:0)
如果您的输入格式在列数方面是健壮的:
awk '$6 == "Backed-up" { print $6, $7, $8 }' input-file
应该可以正常工作。