我有一个逗号分隔的数据文件,数据由""
括起来:
$ head file.txt "HD","Sep 13 2016 1:05AM","0001" "DT","273093045","192534" "DT","273097637","192534" ..
我想获得第三列值( 0001
)分配给我的variables。
我试过了
FILE_VER=`cat file.txt | awk -F',' '{if ($1 == "HD") print $3}'`
我没有得到任何值分配给FILE_VER
。 请帮助我正确的语法。
你几乎在那里。 简单地删除引号应该足够好:
foo=$(awk -F, '$1=="\"HD\""{gsub(/"/,"",$3);print $3}' file)
另一个awk
版本:
awk -F'"' '$2 == "HD"{print $6}' file
不知道这是最理想的方式,但工程:
FILE_VER=$(awk -F',' '$1 == "\"HD\"" {gsub("\"","",$3); print $3}' file.txt)
HD
您可以更改文件以替换逗号和引号选项卡:
tr -s '\"," "\t' < filename | awk '{print $3}'
也许有一个解决方案只使用awk,但是这工作得很好!