Im解析一个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")发布于 2013-10-24 04:51:59
若要在awk中运行命令并捕获其输出,请使用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"https://stackoverflow.com/questions/19556880
复制相似问题