"'a"
ファイル文字列のような文字列を のような文字列に置き換える必要があります'a
。実際には、二重引用符を削除する必要があります。
sed を使用してそれを行うことを考えていましたが、今まで解決策を見つけることができませんでした。引用符が原因で構文エラーが発生していると思います。
ファイルからすべての二重引用符を削除する必要がある場合は、次tr
の-d
オプションを使用できます。
$ cat test.txt
this is a test "'a"
something "else"
doesn't touch single 'quotes'
$ cat test.txt | tr -d '"'
this is a test 'a
something else
doesn't touch single 'quotes'
アップデート:
の特定のインスタンスを置き換える場合は"'a"
、'a
次を使用できますsed
。
sed "s|\"'a\"|'a|g" test.txt
this is a test 'a
something "else"
doesn't touch single 'quotes'
ただし、文字の周りの引用符を置き換えるだけではなく、より一般的なものを求めているのではないかと思いますa
。このコマンドは、 のインスタンスをsed
次のように置き換えます。"'anything"
'anyhting
sed "s|\"'\([^\"]\+\)\"|'\\1|g" test.txt
this is a test 'a
something "else"
doesn't touch single 'quotes'
これは私にとってはうまくいくようです
echo '"a"' | sed "s/\"a\"/\'a/"
これはうまくいくかもしれません(GNU sed):
sed 's/"\('\''[^"]*\)"/\1/g' file
あなたが使用することができます:
perl -pe 's/\042//g' your_file
042 は二重引用符の 8 進数値です。
以下でテスト:
> cat temp
"'a"
> cat temp | perl -pe 's/\042//g'
'a
>