Bash 逗号分隔,但需要排除填充逗号的封闭字段

Bash 逗号分隔,但需要排除填充逗号的封闭字段,bash,awk,Bash,Awk,我有一个CSV数据文件,用逗号分隔5列 c1, c2, col3, c4, c5 stack, over, upon, true, yes ab, zy, pq,rs,tu,vw,ef, four, ivef 在Excel中查看csv文件将清楚显示这5列,第3个字段具有以下值:pq、rs、tu、vw、ef 但是,我如何让awk打印出col3$3,并将pq、rs、tu、vw、ef作为输出。现在,它将其视为pq。其余的都被转移了 更新的csv示例: Movie ID,Remit ID,Proper

我有一个CSV数据文件,用逗号分隔5列

c1, c2, col3, c4, c5
stack, over, upon, true, yes
ab, zy, pq,rs,tu,vw,ef, four, ivef
在Excel中查看csv文件将清楚显示这5列,第3个字段具有以下值:pq、rs、tu、vw、ef

但是,我如何让awk打印出col3$3,并将pq、rs、tu、vw、ef作为输出。现在,它将其视为pq。其余的都被转移了

更新的csv示例:

Movie ID,Remit ID,Property ID,Movie Uploader,Channel ID,Channel Display Name,Video Title,Views Count,Status,Claim Origin,Claim Type,Is Affiliate Uploaded,Is Premium,Reference Movie ID,Policy,Applied Policy,Claim Date,Movie Upload Date,Custom ID,EWRC,Title,Authors,Notes,Asset Labels
G4pelo5M9XI,ka-9foAPFkg,N103145385208693,originalkaraoke,UCnF6KQeanPgBRyEMeFmrNnA,Karaoke,Motel Fornia - Karaoke,6702511,Active,Descriptive Search,AudioVisual,No,No,,,Block the following countries: US; Track in all countries except: US,2017/01/25,2011/12/30,fW1aUnBbwL8,,MOTEL FORNIA - BLOCK,,,
uZ94drkfB5c,WIMPvt22JY8,B103945385208693,,UCBa3saYRQTO8WzsKacgaJNQ,Best Songs Backing Tracks,"Motel Fornia - Bass Backing Track with scale, chords and lyrics",1913,Active,Descriptive Search,AudioVisual,No,No,,,Track in all countries except: US; Block the following countries: US,2017/01/25,2016/01/19,fW1aUqBzwL2,,MOTEL FORNIA - BLOCK,,,
2p1te0kAE2A,HMR7M2SjJJw,N103945385208693,,UCLAvPQhYyx8yUNMG0AkPYuw,Jordy Nalgas,HOSTEL NARNIA,751,Active,Descriptive Search,AudioVisual,No,No,,,Block the following countries: US; Track in all countries except: US,2017/01/25,2016/09/11,fW1dUnBhwL8,,HOSTEL NARNIA - BLOCK,,,
我们需要提取Views Count列的值。

在gnu awk中,您可以使用FPAT告诉awk什么是有效的列表达式

您可以使用:

awk -v col='Views Count' -v FPAT='"[^"]*"|[^,]*' '
     NR==1{for (h=1; h<=NF; h++) if ($h == col) break; next} {print $h}' file.csv

6702511
1913
751

如果您还希望列标题,请从上面的awk脚本中删除下一个。

如果输入真的是ab、zy、pq、rs、tu、vw、ef、four、ivef,那么是什么使pq、rs、tu、vw、ef成为单个列?请参见此粘贴框作为示例-。我对Views Count列感兴趣,它应该是整数。为了回答您的问题,它应该用双引号括起来,使之成为一列。如果它应该用双引号括起来,那么在您的问题中显然要用双引号括起来-不要给我们显示与您的实际输入不匹配的示例输入,否则您将得到一个不符合您实际需要的解决方案。你已经有一个人浪费了他们的时间,根据你向我们展示的输入提出一个答案,然后不得不删除它。