繁体   English   中英

AWK中的Linux命令

[英]Linux command within AWK

我正在解析CSV文件,并希望在末尾添加2列的md5sum。

eval $(awk -F, -v OFS=", " 'NR==1{print $0,"FILENAME,DATE_LOADED,TEST";next}{ print $0 ", "ENVIRON["FILE"]", "ENVIRON["ISODATE"]", " $5$7 }' $FILE > $NAME"_ready.csv")

我已经尝试过了,但是没有成功

eval $(awk -F, -v OFS=", " 'NR==1{print $0,"FILENAME,DATE_LOADED,TEST";next}{ print $0 ", "ENVIRON["FILE"]", "ENVIRON["ISODATE"]", " $(md5 -s $5$7) }' $FILE > $NAME"_ready.csv")

要在awk中运行命令并捕获其输出,请使用cmd | getline cmd | getline 以下应该适合您的情况

awk -F, -v OFS=", " 'NR==1 {
                             print $0,"FILENAME,DATE_LOADED,TEST";
                             next
                           }
                           { 
                             line=$0
                             cmd="md5 -s "$5$7
                             cmd | getline
                             md5sum=$0
                             print line, ENVIRON["FILE"], ENVIRON["ISODATE"], md5sum
                           }' $FILE > $NAME"_ready.csv"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM