想用awk格式化history。原始数据是
: 1630678189:0;hist
: 1630678550:0;histall
: 1630678984:0;hist
使用awk格式化后awk -F'[;]' '{ $1=strftime("%Y-%m-%d %T" ,$1) " |"; print }'
输出是
1969-12-31 19:00:00 | hist
1969-12-31 19:00:00 | histall
1969-12-31 19:00:00 | hist
时间全都不对,求教这是哪里出了问题?
Youmu
2
记得把前面的 :
给去掉啊…
echo ': 1630678189:0;hist' | awk -F'[;]' '{ $1=strftime("%Y-%m-%d %T" ,substr($1,2)) " |"; print }'
# 2021-09-03 22:09:49 | hist
1 个赞
哈哈哈哈,昨天还想着把:去掉。脑子一蒙就钻了牛角尖了。非常感谢
已经很多年了, 每次我在要用的时候学到一点 awk 过一阵子又还给"老师"了…
所以我最后决定还是用脚本语言 node.js (正则表达式我挺在行的) 或者 Common Lisp 来解决…
如果是常用的就写成个小脚本…(还有 sed 我记不住参数 我大脑记忆力差)
大家觉得我这荒谬不? 还是如果懂正则表达式就基本够用了?