怎么adb logcat 输出到文件,并把文件命名为当前时间?
高洛峰
高洛峰 2016-11-10 10:45:13
[Android讨论组]

adb logcat | grep -i "system.err" > test.log

这样可以输出log,可是执行两次这个命名,会把上次的覆盖掉,能不能动态的给“test.log”命名,比如命名为当前时间.log。  如2016-08-17-19-09-50.log


高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
三叔

楼上的命令修改一下就可以

adb logcat > log_$(date +%Y-%m-%d).log


欧阳克

> log_$(date "+%b_%d_%Y_%H.%M.%S").log
时间的格式你可以自己调整

三叔

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

说明:
在windows 的cmd命令行窗口执行date命令后这个环境变量的值为

bVFkzX.png

那么如下的各个操作的意义如下:
%date:~0,4%  表示从左向右指针向右偏0位,然后从指针偏移到的位置开始提取4位字符,结果是2016(年的值)
%date:~5,2%  表示指针从左向右偏移5位,然后从偏移处开始提取2位字符,结果是11(月的值)
%date:~8,2%  表示指针从左向右偏移8位,然后从偏移处开始提取2位字符,结果是09(日的值)

再举个例子:
%date:~5%    表示指针从左向右偏移5位,然后提取所有的值
%date:~-5%   表示指针反方向偏移,从最右端开始,偏移5位,然后从指针处提取左边的所有数值。

再来看时间time变量的值:

bVFkzX.png

那么如下的各个操作的意义如下:
%time:~0,2%  表示从左向右指针向右偏0位,然后从指针偏移到的位置开始提取2位字符,结果是小时字段数值
%time:~3,2%  表示指针从左向右偏移3位,然后从偏移处开始提取2位字符,结果是分钟字段数值
%time:~6,2%  表示指针从左向右偏移6位,然后从偏移处开始提取2位字符,结果是秒字段数值

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号