在 size= 之后,大小很容易找到,我可以找到大小并将其放入文件中,但删除数字以外的所有内容,然后将其与一个文件中的总数字相加,这对我来说是行不通的。
现在我正在用这个;
grep 'size=' /var/log/maillog-2019* | awk ' { print $8 }' > output.txt
答案1
我会尝试使用 awk
$ awk -F'[[:blank:],=]' '/size=/ { sum += $12; total += 1} END { print "Sum: " sum " Total:" total}' /var/log/mail.log
-F'[[:blank:],=]'
告诉 awk 处理所有类型的空格、逗号和等号作为字段分隔符/size=/
选择包含size=
{ sum += $12; total += 1}
选择第 12 个字段并将其添加到,sum
同时我们将增加total
一个END { print "Sum: " sum " Total:" total}
最后打印Sum: $sum Total:$total
例如 :
$ awk -F'[[:blank:],=]' '/size=/ { sum += $12; total += 1} END { print "Sum: " sum " Total:" total}' /var/log/mail.log
Sum: 1491646 Total:800
我不知道它是否能完美地为您工作但它应该能让您很好地了解如何去做!