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
единственный способ пойти с этим, и я что-то упускаю из-за того, что я сделал?