8
我需要循环槽n
行的一个文件和任何i between 1 and n - 1
得到差异line(n - 1) - line(n)
。连续行之间的Linux差异
这里是源文件:
[email protected]:/var/www# cat cron.log | grep "/dev/vda"
/dev/vda 20418M 14799M 4595M 77%/
/dev/vda 20418M 14822M 4572M 77%/
/dev/vda 20418M 14846M 4548M 77%/
/dev/vda 20418M 14867M 4527M 77%/
/dev/vda 20418M 14888M 4506M 77%/
/dev/vda 20418M 14910M 4484M 77%/
/dev/vda 20418M 14935M 4459M 78%/
/dev/vda 20418M 14953M 4441M 78%/
/dev/vda 20418M 14974M 4420M 78%/
/dev/vda 20418M 15017M 4377M 78%/
/dev/vda 20418M 15038M 4356M 78%/
[email protected]:/var/www# cat cron.log | grep "/dev/vda" | cut -b 36-42 | tr -d " M"
4595
4572
4548
4527
4506
4484
4459
4441
4420
4377
4356
那些/dev/vda...
线与df -BM
每小时登录cron.log
文件和行之间的差别将揭示每小时磁盘消耗。
因此,预期产出将是:
23 (4595 - 4572)
24 (4572 - 4548)
...
43 (4420 - 4377)
21 (4377 - 4356)
我不需要(
和)
之间的文本,我把它放在这里只是为了说明。
不错的答案。你可以考虑显示OP如何添加模式来选择以'/ dev/vda'开始的行,这样他就可以运行'awk'/^\/dev \/vda/....'OriginalLogFile,即不需要首先grep。 –
@MarkSetchell当然,管道中的其他程序不是必需的。检查我的更新。 – hek2mgl
你得到我的投票:-) –