awk -F, '{"date -d \"$1\" +%s"|getline b;{print $1 "," b} }' test.csv

上面是我的awk command,我想使用来自文件的输入并将其转换为毫秒。但当我使用它时,它显示了当前日期的转换(以毫秒为单位),而不是文件中特定输入的转换。
这是我的文件数据;-test.csv
31-JAN-2012
06-JUL-2009
03-OCT-2011
03-OCT-2011
03-OCT-2011
03-OCT-2011
03-OCT-2011

最佳答案

使用gnumktime中的非标准awk函数:

BEGIN {
    FS="-"
    split("JAN-FEB-MAR-APR-MAY-JUN-JUL-AUG-SEP-OCT-NOV-DEC", month)
    for (i in month) {
        month[month[i]]=i
    }
}
{
    print mktime($3" " month[$2] " "$1" 00 00 00") "000," $0
}

关于linux - 想要在awk命令中使用linux命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36734451/

10-15 01:28