使用 awk 获取正确的列并定义要使用的定界符和分隔符?
using awk to get the right columns and define which delimiter and seperator to use?
我有一个包含 20000 列的 csv。这是它的一个子集:
"eid","20216-2.0","20216-3.0","20220-2.0","20220-3.0"
"1548197","1","hello","","2020-03-05"
"2101984","2","string","","2020-03-04"
"2986696","3","no","","2020-04-05"
"1543304","3","ge","","2020-02-10"
"3207207","3","no","","2020-03-20"
"2373538","4","yesterday","","2020-03-01"
"4930973","5","today","","2020-03-06"
"6012673","54","tomorrow","","2020-05-05"
"4978627","1","yes","","2020-03-10"
我想使用 awk 获取 2 列:
awk -F "," '{ print , }' input.csv > output.csv
当我检查我的 output.csv 文件时,结果一团糟,像这样:
"eid","20216-3.0"
"1548197","2020-03-05"
"2","string"
"no",""
"1543304",""
"","2020-03-20"
"yesterday",""
"4930973","2020-03-06"
"tomorrow","2020-05-05"
"4978627","2020-03-10"
有人可以帮我吗?
awk -v FPAT="([^,]+)|(\"[^\"]+\")" '{ print , 13 }' input.csv > output.csv
成功了!谢谢大家
我有一个包含 20000 列的 csv。这是它的一个子集:
"eid","20216-2.0","20216-3.0","20220-2.0","20220-3.0"
"1548197","1","hello","","2020-03-05"
"2101984","2","string","","2020-03-04"
"2986696","3","no","","2020-04-05"
"1543304","3","ge","","2020-02-10"
"3207207","3","no","","2020-03-20"
"2373538","4","yesterday","","2020-03-01"
"4930973","5","today","","2020-03-06"
"6012673","54","tomorrow","","2020-05-05"
"4978627","1","yes","","2020-03-10"
我想使用 awk 获取 2 列:
awk -F "," '{ print , }' input.csv > output.csv
当我检查我的 output.csv 文件时,结果一团糟,像这样:
"eid","20216-3.0"
"1548197","2020-03-05"
"2","string"
"no",""
"1543304",""
"","2020-03-20"
"yesterday",""
"4930973","2020-03-06"
"tomorrow","2020-05-05"
"4978627","2020-03-10"
有人可以帮我吗?
awk -v FPAT="([^,]+)|(\"[^\"]+\")" '{ print , 13 }' input.csv > output.csv
成功了!谢谢大家