Linux或Android下分割大文件的方法

  • 一、抓幾十個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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章