List 使用awk筛选csv列表
我有以下更长的csv列表:List 使用awk筛选csv列表,list,csv,awk,List,Csv,Awk,我有以下更长的csv列表: ... "AT3";"AT32";"AT322";"504";"50401" "AT2";"AT13";"AT322";"504";"50401" "AT2";"AT13";"AT31243";"604";"503401" ... 现在,我想过滤第2列中包含AT13的所有行 我试过:awk'BEGIN{FS=,}{if$2==AT13 print}'GISA-OpenData.csv>WIEN.csv 但它没有给我任何输出。有人知道这里可能有什么错误吗?WIEN.c
...
"AT3";"AT32";"AT322";"504";"50401"
"AT2";"AT13";"AT322";"504";"50401"
"AT2";"AT13";"AT31243";"604";"503401"
...
现在,我想过滤第2列中包含AT13的所有行
我试过:awk'BEGIN{FS=,}{if$2==AT13 print}'GISA-OpenData.csv>WIEN.csv
但它没有给我任何输出。有人知道这里可能有什么错误吗?WIEN.csv始终为空
非常感谢您可以使用:
awk -F";" '$2=="\"AT13\""' GISA-OpenData.csv > WIEN.csv
因为字段分隔符FS只是一个逗号,所以必须在$2的值被双引号包围时进行搜索,我们在这里转义
您还可以执行类似正则表达式的搜索,这样您就不必在转义时蒙混过关:
awk -F";" '$2~"AT13"' GISA-OpenData.csv > WIEN.csv
谢谢就这样!我没有想到分隔符和双引号!