Linux
Grep 在一個巨大的日誌文件(> 14 GB)中只有最後一個 x GB?
我需要在一個巨大的日誌文件(超過 14 GB)中搜尋一些東西。我很確定它在最後 4 GB 左右。
有沒有辦法跳過第一個 X GB 來加快速度?
我想你可以使用tail
-c
通過使用switch只輸出最後 4GB 左右-c,–字節=
$$ + $$NUM
輸出最後 NUM 個字節;或使用 -c +NUM 從每個文件的字節 NUM 開始輸出
您也可以通過將dd設置為您想要開始的偏移量
bs=1
來做一些事情,例如skip
dd if=file bs=1024k skip=12g | grep something
我只是發布這個,因為一些評論要求它。
我最終使用的是(15 GB 文件)。它工作得非常快,為我節省了大量時間。
tail -f -c 14G file | grep something
我還在同一個文件上做了一個非常基本的基準測試。我測試過:
grep xxx 文件
// 永遠耗時(> 5 分鐘)
dd if=file bs=1 跳過=14G | grep xxx
// 非常快 < 1 秒
尾-c 14g | grep xxx
// 相當快 < 2 秒
tail
只是有點短。**注意:**使用的後綴
g
和G
每個命令不同(Ubuntu 15.10)