次を含む「test.txt」ファイルがあります
+foo+
+bar+
私がやりたいのは、それらを次のように置き換えることです:
'foo'
'bar'
しかし、なぜこのコードが機能しないのでしょうか?
sed 's/\+/\'/' test.txt
それを行う正しい方法は何ですか?
"
代わりに使用してください。そして、フラグを追加g
してすべてを置き換えます。
sed "s/\+/\'/g" test.txt
次を使用して、ファイル内のすべてのインスタンスを+
withに置き換えることもできます。'
tr
tr '+' "'" < inputfile
+
-r
は、sed の switchのない特殊文字ではありません。エスケープせずに代替コマンドを実行できます。
echo '+foo+' | sed "s/+/'/g"
# output: 'foo'
変更したファイルを保存する場合は、次を使用します。
sed -i.bak "s/+/'/g" test.txt