質問

「<」をエスケープするにはどうすればよいですかおよび「>」 sedの文字。

タグの間にテキストを置き換える必要があるxmlファイルがいくつかあります。 「>」をエスケープするにはどうすればよいですかおよび「<」文字。

>の問題および<シェルで出力をファイルにリダイレクトすることは特別な意味を持ちますか?そのため、バックスラッシュは機能しません。

役に立ちましたか?

解決

わかりました。自分で見つけた。引用符を使用します。

$ sed -i "s/>foo</>bar</g" file

他のヒント

直前にバックスラッシュを置くか、一重引用符または二重引用符で囲みます。考え直して、あなたの質問はもっと明確にする必要があると思います。 sedを使用してXMLファイルを処理しようとしていて、タグの間にあるものを取得したいですか?次に、あなたが欲しい:

sed -re 's@(<TAG.*?>).*?(</TAG>)@\1hi\2@' test.xml

バックスラッシュでエスケープします

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top