3

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

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

> と < の問題は、シェルで出力をファイルにリダイレクトするという特別な意味があることです。したがって、バックスラッシュは機能しません。

4

3 に答える 3

5

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

$ sed -i "s/>foo</>bar</g" file
于 2008-09-30T13:45:09.213 に答える
0

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

于 2008-09-30T13:43:53.117 に答える
0

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

sed -re 's@(<TAG.*?>).*?(</TAG>)@\1hi\2@' test.xml
于 2008-09-30T13:44:18.797 に答える