【发布时间】:2015-06-23 23:15:36
【问题描述】:
我正在尝试解析以格式化日期列开头的日志文件:
06/22/2015 00:17:59
我正在使用以下代码将其转换为 unix 时间戳:
unix="date -d\""$1" "$2"\" \"+%s\""; unix | getline timestamp;
但是,当我这样做时,awk 失败并出现以下错误:
awk: (FILENAME=/dev/fd/63 FNR=263350) fatal: cannot open pipe 'date -d"06/22/2015 00:17:59" "+%s"' (Too many open files)
有什么方法可以解决这个问题,或者以不同的方式解析日期?
【问题讨论】:
-
我可以否决标记为重复项吗? :P 我永远不会基于此得出结论。另一个问题涉及打开的文件,这个问题是关于进程的。尽管内部 awk 可能以类似的方式工作,但用户并不清楚,我永远不会考虑这一点。我认为当您调用命令并将其通过管道传输到 getline 时,该进程将在完成后自动关闭。