我需要重新格式化一个包含60,000行的文件,并且每行都采用以下格式:
22/02/2016 1234567745678900
第一个序列是日期,下一个是数字字符串。我需要将两个字段作为输入变量提取到shell脚本中,因此我可以使用它们来搜索日志文件以提取一些数据。因此,日期的格式与日志文件的日期格式一致,我需要将日期修改为unix时间戳格式,以便整行看起来像
2016-02-22
请问正确的Linux awk咒语是什么,它是如何工作的,以便我下次可以复制?
谢谢!
答案 0 :(得分:0)
如果您希望在文件中将字符串22/02/2016更改为22-02-2016,则可以使用VI编辑器。
:%s/22\/02\/2016/22-02-2016/g
它将找到字符串22/02/2016并更改为22-02-2016
答案 1 :(得分:0)
$ awk '{gsub("/","-"); print $1,$2,"or",$2,$1}' file
22-02-2016 1234567745678900 or 1234567745678900 22-02-2016
编辑:了解更新后的问题
$ echo "22/02/2016 1234567745678900" | awk '{ split($1,a,"/"); print a[3] "-" a[2] "-" a[1]}'
2016-02-22