特殊文字でsedを使用する

特殊文字でsedを使用する

以下のようにXMLファイルでいっぱいのディレクトリがあり、対応する「オフセット」要素番号の値を1から別の数値に変更したいと思います。

$ cat my.xml
      <offset xmlns="">1</offset>

私はこのsedコマンドのさまざまな組み合わせを作成しましたが、試したコマンドのどれも機能しませんでした。一部の文字をエスケープする必要があると確信していますが、私が試した文字は常にエラー(「予期しないトークン」、「不明なオプション」など)で終わります。また、-eフラグは実際には式ではないので、使用しないようにしました。

sed -i -e s/<offset xmlns="">1</offset>/<offset xmlns="">99</offset>/ *.xml

どんな助けでも大変感謝します。

ベストアンサー1

/sedでは使用する必要はなく、カンマを使用できます。たとえば、次のようになります。

sed -i 's,<offset xmlns="">1</offset>,NEW_TEXT,' FILE

おすすめ記事