下午的時候有個同學問:他們服務器有一個5G的日志文件,如何從中截取出10.5-11.18的日志另一個文件日志文件有規范的時期格式,類似于web服務器日志。
2 回答

DIEA
TA貢獻1820條經驗 獲得超3個贊
用sed好了,sed是按行處理的,不會將整個文件加載到內存中,可以放心使用
要切出從2012-02-09到2012-09-10的所有數據行,(假設你的日志文件以yyyy-MM-dd的日期格式開頭)只需要:
sed -n '/^2012-02-09/,/^2012-09-10/p' whole.log > part.log

汪汪一只貓
TA貢獻1898條經驗 獲得超8個贊
無論怎么樣你都必須使用某一個程序把這個文件讀出來,并且用一定的規則來加以過濾。在Linux中,使用cat和grep對文件進行操作已經可以說是最經濟合理的了。占用一定的系統資源是肯定的,具體的話跟你使用的cat,grep以及linux內核都有一定關系,所以可能會略有不同。一般不要在系統里出現那么大的日志文件,最好在一開始就做好日志的大小限制以及合理的日志轉儲和備份。
- 2 回答
- 0 關注
- 775 瀏覽
添加回答
舉報
0/150
提交
取消