In bash, how can I switch 2 columns (2nd column switch as the last column) in csv, with quotation marks, divided by ,
?
Input file
...
232948,55,Titulka,"Vnitřní štuk, jemný 25 kg",https://eshop.unihobby.cz/stavba-stavebni-materialy-sparovaci-hmoty-a-stuky-stuk-vnitrni-jemny-25kg/142812p/?utm_source=kupi&utm_medium=letak&utm_campaign=9_2019,https://eshop.unihobby.cz/bin/product/4/232948.jpg
232948,55,Titulka,Vnitřní štuk jemný 25 kg,https://eshop.unihobby.cz/stavba-stavebni-materialy-sparovaci-hmoty-a-stuky-stuk-vnitrni-jemny-25kg/142812p/?utm_source=kupi&utm_medium=letak&utm_campaign=9_2019,https://eshop.unihobby.cz/bin/product/4/232948.jpg
232948,79,Titulka,Vnitřní štuk jemný 25 kg,https://eshop.unihobby.cz/stavba-stavebni-materialy-sparovaci-hmoty-a-stuky-stuk-vnitrni-jemny-25kg/142812p/?utm_source=kupi&utm_medium=letak&utm_campaign=9_2019,https://eshop.unihobby.cz/bin/product/4/232948.jpg
232948,79,Titulka,Vnitřní štuk jemný 25 kg,https://eshop.unihobby.cz/stavba-stavebni-materialy-sparovaci-hmoty-a-stuky-stuk-vnitrni-jemny-25kg/142812p/?utm_source=kupi&utm_medium=letak&utm_campaign=9_2019,https://eshop.unihobby.cz/bin/product/4/232948.jpg
...
Expected output
...
232948,Titulka,"Vnitřní štuk, jemný 25 kg",https://eshop.unihobby.cz/stavba-stavebni-materialy-sparovaci-hmoty-a-stuky-stuk-vnitrni-jemny-25kg/142812p/?utm_source=kupi&utm_medium=letak&utm_campaign=9_2019,https://eshop.unihobby.cz/bin/product/4/232948.jpg,55
232948,Titulka,Vnitřní štuk jemný 25 kg,https://eshop.unihobby.cz/stavba-stavebni-materialy-sparovaci-hmoty-a-stuky-stuk-vnitrni-jemny-25kg/142812p/?utm_source=kupi&utm_medium=letak&utm_campaign=9_2019,https://eshop.unihobby.cz/bin/product/4/232948.jpg,55
232948,Titulka,Vnitřní štuk jemný 25 kg,https://eshop.unihobby.cz/stavba-stavebni-materialy-sparovaci-hmoty-a-stuky-stuk-vnitrni-jemny-25kg/142812p/?utm_source=kupi&utm_medium=letak&utm_campaign=9_2019,https://eshop.unihobby.cz/bin/product/4/232948.jpg,79
232948,Titulka,Vnitřní štuk jemný 25 kg,https://eshop.unihobby.cz/stavba-stavebni-materialy-sparovaci-hmoty-a-stuky-stuk-vnitrni-jemny-25kg/142812p/?utm_source=kupi&utm_medium=letak&utm_campaign=9_2019,https://eshop.unihobby.cz/bin/product/4/232948.jpg,79
...
I tried
awk -F ',' ' { t = $2; $2 = $6; $6 = t; print; } ' OFS=',' "input-file.csv" > "output-file.csv"
It works, but for line with quotes, there is problem, it takes ,
inside "
too.
How can I do it for array with "
?
Thanks.