エスケープ<および> sed / shell
質問
「<」をエスケープするにはどうすればよいですかおよび「>」 sedの文字。
タグの間にテキストを置き換える必要があるxmlファイルがいくつかあります。 「>」をエスケープするにはどうすればよいですかおよび「<」文字。
>の問題および<シェルで出力をファイルにリダイレクトすることは特別な意味を持ちますか?そのため、バックスラッシュは機能しません。
解決
わかりました。自分で見つけた。引用符を使用します。
$ sed -i "s/>foo</>bar</g" file
他のヒント
直前にバックスラッシュを置くか、一重引用符または二重引用符で囲みます。考え直して、あなたの質問はもっと明確にする必要があると思います。 sedを使用してXMLファイルを処理しようとしていて、タグの間にあるものを取得したいですか?次に、あなたが欲しい:
sed -re 's@(<TAG.*?>).*?(</TAG>)@\1hi\2@' test.xml
バックスラッシュでエスケープします
所属していません StackOverflow