我有以下几行:
192.168.1.200§Feb 24 10:22:14 2014 GMT§Aug 24 10:22:14 2014 GMT
我想用 awk (或其他东西)将它转换成这一行:
2014-02-24 2014-02-24 192.168.1.200
我能够使用 awk 转换 ONE Date,使用以下命令:
awk 'BEGIN { FS="§"} {cmd1="date \"+%Y-%m-%d\" -d \""$2"\""; cmd1 | getline var; print var}'
但我不知道如何在一个命令中转换行?
尝试这个:
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
}
Usage:
$ 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)