加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – sed:在随机的其他文本中大量转换时期

发布时间:2020-12-15 21:52:22 所属栏目:安全 来源:网络整理
导读:Centos / Linux 巴什 我有一个日志文件,其中包含大量文本和时代数字.我想将所有时代替换为可读日期/时间. 我一直想通过sed这个,因为这似乎是工作的工具.我似乎无法让sed的替换部分实际解析变量(epoch)以进行转换. 我正在使用的样本…… echo "Some stuff 134
Centos / Linux
巴什

我有一个日志文件,其中包含大量文本和时代数字.我想将所有时代替换为可读日期/时间.

我一直想通过sed这个,因为这似乎是工作的工具.我似乎无法让sed的替换部分实际解析变量(epoch)以进行转换.

我正在使用的样本……

echo "Some stuff 1346474454 And not working" 
| sed 's/1[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/'"`bpdbm -ctime &;`"'/g'
Some stuff 0 = Thu Jan  1 01:00:00 1970 And not working

bpdbm部分将提供的epoch变量转换为有用的日期.像这样..

bpdbm -ctime 1346474454
1346474454 = Sat Sep  1 05:40:54 2012

那么我如何将“找到”项目解析为命令.因为我似乎无法让它工作.

任何帮助都很可爱.如果有另一种方式,那将是很酷的…但我怀疑sed将是最快的.

谢谢你的时间!

解决方法

that seems the tool for the job

不它不是. sed可以使用&只有它本身,没有办法让它成为命令的参数.你需要更强大的东西,例如Perl的:

perl -pe 'if ( ($t) = /(1[0-9]+)/ ) { s/$t/localtime($t)/e }'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读