非常に大きなCSVをクリーンアップする必要があります。二重引用符 ( )\\"
が誤ってエスケープされています\"
。
\\"
\\\"
\\\\"
.....
それとも\"
スペースだけ?
そうなってしまったので\
、混乱を招かないようにこの質問をしました。
答え1
これで十分でしょう:
sed 's/\\\\*"/\\"/'
これは、バックスラッシュ ( \\
) の後に任意の数のバックスラッシュ ( \\*
) と二重引用符 ( "
) が続くものを、バックスラッシュの後に二重引用符 ( \\"
) が続くものに置き換えます。sed 's/\\\\*"/\\"/g
行内のすべての出現箇所を置き換えるには、' を使用します。
答え2
sed
拡張正規表現のオプションをサポートしている場合の代替手段-E
(バックスラッシュの数はカウントされません):
sed -E 's/[\]+"/\\"/g' file