/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"
二重引用符内でバックティックをバックスラッシュにエスケープする必要があります。それ以外の場合は、古い形式のコマンド置換が開始されます。
また見なさい: