我有这个包含数千行的CSV文件。
itemid;name;quantity;price;Weight;Images
45214;"Banana";351;2;1;"http://domain.com/images/image1.jpg,http://domain.com/images/image2.jpg,http://domain.com/images/image3.jpg"
是否有任何简单的方法来添加列并剪切第一个图像路径(并删除将保留的逗号)并将其放入新列。 结果将是:
itemid;name;quantity;price;Weight;Images;Main_Image
45214;"Banana";351;2;1;"http://domain.com/images/image2.jpg,http://domain.com/images/image3.jpg";"http://domain.com/images/image1.jpg"
我使用Debian和Bash
答案 0 :(得分:0)
你可以试试这个;
awk -F'[;,]' '{if(NR==1) print $1";"$2";"$3";"$4";"$5";"$6";Main_Image"; if(NR>1) print $1";"$2";"$3";"$4";"$5";\""$7","$8";"$6"\""}' yourCSV
测试;
$ awk -F'[;,]' '{if(NR==1) print $1";"$2";"$3";"$4";"$5";"$6";Main_Image"; if(NR>1) print $1";"$2";"$3";"$4";"$5";\""$7","$8";"$6"\""}' test
itemid;name;quantity;price;Weight;Images;Main_Image
45214;"Banana";351;2;1;"http://domain.com/images/image2.jpg,http://domain.com/images/image3.jpg";"http://domain.com/images/image1.jpg"