'
を\'
と、すべて"
を\"
に置き換えるためにsedを使用したいと思います。例入力:sedを使用してすべての 'with 'とすべての "with"を置換してください
"a" 'b'
出力:
\"a\" \'b\'
'
を\'
と、すべて"
を\"
に置き換えるためにsedを使用したいと思います。例入力:sedを使用してすべての 'with 'とすべての "with"を置換してください
"a" 'b'
出力:
\"a\" \'b\'
ありあなたのポストには?
文字はませんが、私はあなたの質問は、「どのように私は、このような交換をしますか?」であると仮定します。私はちょうどあなたの入力で簡単なテストファイルを作って、このコマンドラインが動作しているようです:
sed -e 's#"#\\"#g' -e "s#'#\\\'#g"
例:
$ cat input
"a" 'b'
$ sed -e 's#"#\\"#g' -e "s#'#\\\'#g" input
\"a\" \'b\'
がない限り私はほとんどあなたの答えをupvotedが、私はデフォルトの区切り文字('/')を使用して信じていますまた、 '#'はコメント文字であるため、 ':'や '、'を使う以外にも使用することに反対します。 –
パターンに '\'や '/'文字が含まれているときに '/'を使うのは好きではありません - 混乱のレシピだけです。うまくいくでしょう。 –
sed
を使用すると、このすべてがBash
を使用して行うことができ、ポータブルソリューションですが組み込みの文字列操作関数も同様です。
(
#set -xv
#str=$'"a" \'b\''
str='"a" '"'b'" # concatenate 'str1'"str2"
str="${str//\"/\\\"}"
str="${str//\'/\'}"
echo "$str"
)
のsedの/ \ '\「/ G」(私の他の場合は'の代わりに ") – Mark