0

我正在编写一个脚本,该脚本从 .log 文件中提取备份的数据量并将其通过电子邮件发送给我。我相信“sed”功能可以做到这一点。以下命令显示了我想看到的内容。特别是,如何提取文本“Backed-up 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)
4

2 回答 2

0

sed条线应该工作:

grep "Backed-up" filename.log |sed -e 's/^.* \(Backed-up [0-9\.]* [MGT]B\) in .*$/\1/'

它匹配 MB、GB 和 TB。

于 2013-08-20T17:46:43.513 回答
0

如果您的输入格式在列数方面是稳健的:

awk '$6 == "Backed-up" { print $6, $7, $8 }' input-file

应该可以正常工作。

于 2013-08-21T04:36:24.080 回答