我有一个csv
文件,我需要用点替换所有逗号。换句话说,我只需要分号作为分隔符,逗号需要用点替换。
我需要这个以便用mongoimport
导入数据。
我使用了sed命令,但它并没有取代每个逗号的并发。例如:
Zolmitriptan;6 UNITA' 2,5 MG - USO ORALE;N02CC03;33345149;ZOMIG RAPIMELT;"""2,5 MG COMPRESSE ORODISPERSIBILI"" 6 COMPRESSE IN BLISTER";ASTRAZENECA S.P.A.;17,84;20,84;;3,00;FUB
使用sed 's/\,/\./' <filename>
:
Zolmitriptan;6 UNITA' 2.5 MG - USO ORALE;N02CC03;33345149;ZOMIG RAPIMELT;"""2,5 MG COMPRESSE ORODISPERSIBILI"" 6 COMPRESSE IN BLISTER";ASTRAZENECA S.P.A.;17,84;20,84;;3,00;FUB
请注意,只替换了第一个逗号。我做错了什么?
PS。有没有办法让mongoimport忽略逗号? (在这种情况下,我不需要更换)
答案 0 :(得分:2)
这是一个&#34; sed&#34;有效的命令行。 它需要一个文件作为输入并替换任何数字(0-9)后带点。
sed -i 's/\([0-9]\),/\1./g' your_file.csv
your_file.csv
运行以下行 stuff 12,004 hello -78,1
anything456,78 what else 98765
在 sed -i 's/\([0-9]\),/\1./g' your_file.csv
your_file.csv
stuff 12.004 hello -78.1
anything456.78 what else 98765
答案 1 :(得分:0)
我没有使用全局选项,所以
sed 's/\,/\./g'
现在正在运作。 不过,对于mongoimport替代方案仍然存在问题!