ファイルの一重引用符を二重引用符に置き換える

ファイルの一重引用符を二重引用符に置き換える

/tmp/myfileに含まれるすべての一重引用符 'を'(二重引用符)に置き換える必要があります。

私はこれを使用しています

sed -i 's/'/\"/g' /tmp/myfile

そして他の組み合わせを試しましたが、うまくいく方法が見つかりませんでした。

助けてください。

ベストアンサー1

変えるアポストロフィ')sedコマンドを入れるのが最も簡単です。ダブル置換時に二重引用符を引用符で囲み、エスケープします。

$ cat quotes.txt 
I'm Alice
$ sed -e "s/'/\"/g"  quotes.txt 
I"m Alice

一重引用符は次のとおりです。いいえ二重引用符は特別なのでエスケープできません。

逆に誰か交換したいならバックティック`)は、元の質問で述べたように、単一引用符の中にあるまま使用できます。

$ cat ticks.txt
`this is in backticks`
$ sed -e 's/`/"/g'  ticks.txt
"this is in backticks"

二重引用符内でバックティックをバックスラッシュにエスケープする必要があります。それ以外の場合は、古い形式のコマンド置換が開始されます。

また見なさい:

おすすめ記事