我有一个用逗号分隔的数据文件,由/GitRepo/
|
-- PROJ1
|
-- A
-- B
|
-- PROJ2
-- A (but different from PROJ1/A)
-- C
包围的数据:
""
我希望将第3列值($ head file.txt
"HD","Sep 13 2016 1:05AM","0001"
"DT","273093045","192534"
"DT","273097637","192534" ..
)分配给我的变量。
我试过
0001
我没有为FILE_VER=`cat file.txt | awk -F',' '{if ($1 == "HD") print $3}'`
分配任何值。请帮我正确的语法。
答案 0 :(得分:1)
另一个awk
版本:
awk -F'"' '$2 == "HD"{print $6}' file
答案 1 :(得分:0)
您可以更改文件以将逗号和引号替换为制表符:
{{1}}
也许有一个只使用awk的解决方案,但这很好用!
答案 2 :(得分:0)
你快到了。简单地删除引号应该足够好了:
foo=$(awk -F, '$1=="\"HD\""{gsub(/"/,"",$3);print $3}' file)
答案 3 :(得分:0)
不确定这是最佳方式,但有效:
FILE_VER=$(awk -F',' '$1 == "\"HD\"" {gsub("\"","",$3); print $3}' file.txt)
HD