- 一、抓幾十個G的Log
1、作爲測試人員或開發人員經常抓log,常用的命令就是:
adb shell
logcat -v time>/mnt/sdcard/ &
執行上面上面的命令後再SD卡下不停的輸出log文件有時候抓幾天幾夜log文件會達到幾十個G,當出現問題是我們常用的日誌查看工具無法打開這麼大的文件,並且也沒有什麼好的分割工具,今天研究了下Linux的文件分割命令發現很好用,寫篇文章記錄。
- 二、Log分割命令
split是linux的命令,android使用的是linux命令內核所以也是支持的,但是有些參數不可用,比如-d android下是不支持的
split
[tomcat-nohup]$ split --help
用法:split [選項]... [輸入 [前綴]]
將輸入內容拆分爲固定大小的分片並輸出到"前綴aa"、"前綴ab",...;
默認以 1000 行爲拆分單位,默認前綴爲"x"。如果不指定文件,或
者文件爲"-",則從標準輸入讀取數據。
長選項必須使用的參數對於短選項時也是必需使用的。
-a, --suffix-length=N 指定後綴長度爲N (默認爲2)
-b, --bytes=大小 指定每個輸出文件的字節大小
-C, --line-bytes=大小 指定每個輸出文件裏最大行字節大小
-d, --numeric-suffixes 使用數字後綴代替字母后綴
-l, --lines=數值 指定每個輸出文件有多少行
--verbose 在每個輸出文件打開前輸出文件特徵
--help 顯示此幫助信息並退出
--version 顯示版本信息並退出
SIZE 可以是一個可選的整數,後面跟着以下單位中的一個:
KB 1000,K 1024,MB 1000*1000,M 1024*1024,還有 G、T、P、E、Z、Y。
舉例說明:
1.(按文件大小分割)比如我想將一個log文件切割成每個1M大小,後綴是2位數字結尾的子文件,子文件以anroidapp開頭,則
split -a 2 -d -b 1M app.log anroidapp
-a 2 後綴是2位
-d 後綴是數字
-b 1M 每個文件最大1M
app.log anroidapp 需要切割的文件是app.log,生成的子文件前綴是 "anroidapp"
2.(按行數做分割)將一個文件分割成每1萬行一個文件,後綴是2位,子文件以anroidapp開頭
split -a 2 -l 10000 app.log anroidapp
-a 2 後綴是2位
-l 10000 每10000行一個文件
app.log anroidapp 需要切割的文件是app.log,生成的子文件前綴是 "anroidapp"
3、我一般都是用Notepad++查看日誌的,Notepad++是輕量級的所以我一般用以下命令分割的
split -a 2 -d -l 200000 app.log androidapp