リクエストがあります。
私のCSVファイルに文字列があり、引用符を削除せずに"Testurteil "sehr gut""
ファイルをロードする必要があります。redis
または私はこれが欲しい:Testurteil "sehr gut"
閉じる引用符があっても構いません。
ベストアンサー1
努力する:
perl -pi.back -le 's/"(?:[^"]|"(?=[^,]))*"|[^",]*/($r=$&)=~
s@(^"|"$|\\.)|"@$1||"\\\""@ge;$r/ge' file.csv
経験的な方法を使用して、文字を囲む二重引用符文字を識別し、バックスラッシュでエスケープします。
たとえば、次のように変更されます。
"asd","","a,b"c,d"e,f",""",,blah
到着する:
"asd","","a,b\"c,d\"e,f","\"",,blah
(原本はそのままにしてくださいfile.csv.back
)
エスケープの代わりに一重引用符に変更するには:
perl -pi.back -le 's/"(?:[^"]|"(?=[^,]))*"|[^",]*/($r=$&)=~
s@(^"|"$|\\.)|"@$1||"'\''"@ge;$r/ge' file.csv