我正在尝试将日期从一种格式转换为另一种格式:从例如"2005年10月29日"到2005-10-29.我有625个日期列表.我用Awk.
转换有效 - 大部分时间.Hovewer,有时转换根本不会发生,并且应该保持(转换)日期的变量仍未定义.
这总是发生在完全相同的行上.在那些奇怪的行的日期显式地(从Bash shell)运行"date"工作正常(日期被正确转换). - 这些行的文本内容不重要.
为什么会出现这种情况,以及如何修复脚本?
她是:
awk 'BEGIN { FS = "unused" } {
x = "undefined";
"date \"+%Y-%m-%d\" -d " $1 | getline x ;
print $1 " = " x
}' uBXr0r15.txt \
> bug-out-3.txt
Run Code Online (Sandbox Code Playgroud)
如果要重现此问题:
然后你可以再次运行脚本,并且(在我的计算机上)bug-out-3.txt保持不变 - 完全相同的日期未定义.
(Gawk 3.1.6版,Ubuntu 9.10.)
亲切的问候,马格努斯