本文介绍了转换日期格式在awk中,行包含2日期和一个IP的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下行:
192.168.1.200§Feb 24 10:22:14 2014 GMT§Aug 24 10:22:14 2014 GMT
和我想要将其转换成该行使用awk(或别的东西):
and I want to convert it into this line with awk (or something else):
2014-02-24 2014-02-24 192.168.1.200
我能一个日期转换使用awk,使用这个命令:
I was able to convert ONE Date with awk, using this command:
awk 'BEGIN { FS="§"} {cmd1="date \"+%Y-%m-%d\" -d \""$2"\""; cmd1 | getline var; print var}'
但我不知道如何将行转换的一个命令?
but I don't know how to convert the row in one command?
推荐答案
试试这个:
BEGIN {
FS="§"
}
{
cmd1="date \"+%Y-%m-%d\" -d \""$2"\""
cmd1 | getline var1
cmd2="date \"+%Y-%m-%d\" -d \""$3"\""
cmd2 | getline var2
print var1, var2, $1
}
用法:
$ cat in.txt
192.168.1.200§Feb 24 10:22:14 2014 GMT§Aug 24 10:22:14 2014 GMT
$ awk -f conv.awk < in.txt
2014-02-24 2014-08-24 192.168.1.200
这篇关于转换日期格式在awk中,行包含2日期和一个IP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!