文字列から二重引用符をエスケープする

文字列から二重引用符をエスケープする

二重引用符内にデータを含む文字列メッセージがあります。各二重引用符の前に追加する必要があります\。シェルでこれを行うにはどうすればよいですか?

sh私はPerlを使用していますが、うまくいきますが、次のコマンドを探しています。

cat sampleMetadata | perl -wpe 's/([\\"])/\\$1/g'

答え1

標準ツールボックスが装備されており、sed良い選択です。

sed -e 's/"/\\&/g' <sampleMetadata

答え2

二重引用符(およびその他の特殊記号)をエスケープする別の方法は、テキストにない場合はすべての行を一重引用符で囲みます。

sed "s/^\|$/'/g" <sampleMetadata

関連情報