【发布时间】:2017-11-24 08:53:11
【问题描述】:
从我的上一篇文章继续 read line by line with awk and parse variables
我想缓冲一个字段的结果以加快日志行的解析。
我试过了awk 'BEGIN{OFS=","}
{ FS="\""; $0=$0; CIP=$4;
(buffer[CIP]==0) { cmd="geoiplookup "CIP; cmd | getline buffer[CIP]; close(cmd) }
...
print "CIP,..." >> mysql.infile
}' $1
但我收到语法错误...
CIP=[IP 地址]
所以我试图缓冲 IP 地址,这样它就不会一直运行 geoiplookup 脚本,因为它会减慢解析速度......
感谢任何帮助...
【问题讨论】:
-
可以链接到以前的问题,但请尝试在此处包含足够的上下文,以便此问题可以自行回答。目前尚不清楚您要做什么。
-
这更像是一个语法错误问题,而不是我实际上想要做的事情......无论如何我都会编辑问题以使其更清楚。
-
你有
FS="\""; $0=$0; CIP=$4;就在脚本的中间,而不是在块内{ }? -
@TomFenech :谢谢我做到了,但在
(buffer[CIP]==0) { cmd="geoiplookup "CIP; cmd | getline buffer[CIP]; close(cmd) }处仍然出现语法错误 -
现在你有一个开口
{,但没有结束}...