android - 怎么adb logcat 輸出到文件,并把文件命名為當(dāng)前時(shí)間?
問(wèn)題描述
adb logcat | grep -i 'system.err' > test.log
這樣可以輸出log,可是執(zhí)行兩次這個(gè)命名,會(huì)把上次的覆蓋掉,能不能動(dòng)態(tài)的給“test.log”命名,比如命名為當(dāng)前時(shí)間.log。 如2016-08-17-19-09-50.log
問(wèn)題解答
回答1:adb logcat > '%date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,2%-%time:~3,2%-%time:~6,2%.txt'
輸出為:2016-11-09 15-40-16.txt
說(shuō)明:在windows 的cmd命令行窗口執(zhí)行date命令后這個(gè)環(huán)境變量的值為
那么如下的各個(gè)操作的意義如下:%date:~0,4% 表示從左向右指針向右偏0位,然后從指針偏移到的位置開始提取4位字符,結(jié)果是2016(年的值)%date:~5,2% 表示指針從左向右偏移5位,然后從偏移處開始提取2位字符,結(jié)果是11(月的值)%date:~8,2% 表示指針從左向右偏移8位,然后從偏移處開始提取2位字符,結(jié)果是09(日的值)
再舉個(gè)例子:%date:~5% 表示指針從左向右偏移5位,然后提取所有的值%date:~-5% 表示指針?lè)捶较蚱疲瑥淖钣叶碎_始,偏移5位,然后從指針處提取左邊的所有數(shù)值。
再來(lái)看時(shí)間time變量的值:
那么如下的各個(gè)操作的意義如下:%time:~0,2% 表示從左向右指針向右偏0位,然后從指針偏移到的位置開始提取2位字符,結(jié)果是小時(shí)字段數(shù)值%time:~3,2% 表示指針從左向右偏移3位,然后從偏移處開始提取2位字符,結(jié)果是分鐘字段數(shù)值%time:~6,2% 表示指針從左向右偏移6位,然后從偏移處開始提取2位字符,結(jié)果是秒字段數(shù)值
回答2:> log_$(date '+%b_%d_%Y_%H.%M.%S').log時(shí)間的格式你可以自己調(diào)整。
回答3:樓上的命令修改一下就可以
adb logcat > log_$(date +%Y-%m-%d).log
