awk FPAT игнорировать запятые в csv - PullRequest
1 голос
/ 01 декабря 2019

Sample.csv Data

"2-Keyw-Bllist, TerrorViolencetest",vodka,ZETA+GLOBAL 4(ID: ZETA+GLOBAL),,105629,523,flag
"2-Keyw-Bllist, TerrorViolencetest",vodka,Captify (ID: Captify),,94676,884,flag
"2-Keyw-Bllist, TerrorViolencetest",vodka,QuantCast (ID: QuantCast),,46485,786,flag
TerrorViolencetest,germany,QuantCast (ID: QuantCast),,31054,491,flag
EY-Keyword-Blacklist,BBQ,MIQ+RON (ID: MIQ+RON),,26073,149,flag
TerrorViolencetest,chips,Captify (ID: Captify),,23737,553,flag
"2-Keyw-Bllist, TerrorViolencetest",bacon,QuantCast (ID: QuantCast),,17461,241,flag
VurityAdult-1test,cracks,Captify (ID: Captify),,17325,358,flag
VurityAdult-1test,pizza+grills,Captify (ID: Captify),,15173,41,flag

Желаемый вывод

"2-Keyw-Bllist, TerrorViolencetest",vodka,ZETA+GLOBAL (ID: ZETA+GLOBAL),105629,523,flag
"2-Keyw-Bllist, TerrorViolencetest",vodka,Captify (ID: Captify),94676,884,flag
"2-Keyw-Bllist, TerrorViolencetest",vodka,QuantCast (ID: QuantCast),46485,786,flag
TerrorViolencetest,germany,QuantCast (ID: QuantCast),31054,491,flag
EY-Keyword-Blacklist,BBQ,MIQ+RON (ID: MIQ+RON),26073,149,flag
TerrorViolencetest,chips,Captify (ID: Captify),23737,553,flag
"2-Keyw-Bllist, TerrorViolencetest",bacon,QuantCast (ID: QuantCast),17461,241,flag
VurityAdult-1test,cracks,Captify (ID: Captify),17325,358,flag
VurityAdult-1test,pizza+grills,Captify (ID: Captify),15173,41,flag

Issue

У меня есть 7 столбцов данных, и я могу распечатать / удалить столбцынужен для желаемого выхода (если он работал). Однако из-за жестких запятых в середине моих данных в столбце 1 awk считает, что у меня более 7 столбцов, и когда я пытаюсь удалить столбец 4, он удаляет значения, которых не следует делать, так как некоторые строки перетаскиваются в столбцы, которые онине должно быть.

То, что я пытался

  • Я пытался передать результаты из csvtool (который может правильно подтверждать столбцы) и использовать sed/awkпод запятыми для чего-то еще. Похоже, это не получается из-за того, что другие команды не понимают, что csvtool знает для столбцов.
  • Я пытался работать с FPAT в awk, но из того, что мне удалось отработать в Интернете, я могуполучить желаемый результат, но мой сценарий, кажется, только печатает последнюю строку моих данных.

awk -F"," -v OFS=',' 'BEGIN {FPAT = "([^,]*)|(\"[^\"]+\")"} END {print $1,$2,$3,$5,$6,$7}' sample.csv

Кто-нибудь знает более простой способ понять мои столбцы, когдаЯ удаляю столбцы или FPAT единственный способ пойти с этим, и я что-то упускаю из-за того, что я сделал?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...