我在Unix中把一个双引号的CSV文件转换为管道分隔的txt文件。 我使用了下面的sed命令,将", "替换成|,然后删除开始和结束的双引号。
sed -e 's/","/|/g' -e 's/"//g' filenm.csv > filenm.txt
但该文件似乎有连续的逗号,没有双引号,它们没有被替换。
Col1|col2|col3|col4|col5|col6|col7|col8
Val1|val2|val3,,,,val7|val8
现在我想把所有这些连续的逗号转换成连续的管道,因为它们表示空或空字段。
而其他字段的字段值里面也有逗号,不应该被改变。
我试着用下面的方法来做,但没有效果。
sed -e 's/,{1,\}/|{1,\}/g' filenm.csv > filenm.txt
用记事本打开的样本csv文件。
"ID","Name","DOB","Age","Address","City","State","Country","Phone number"
"123","ABC","12/20/2020","15","No.38,3rd st, RRR NNN, TRT",,,,"9999999999"
"456","DEF","12/20/2020",,,,,"test-country","9999999999"
"465","XYZ",,,"No.38,3rd st, RRR NNN, TRT",,,,"9999999999"
我希望这有助于再现该问题并加以解决。
预先感谢....