0

次のようなログ ファイルがあります。

 sdfsdf
 sdfsdf<Pay>1234</Pay> sdfsdfsdf
 sdfsdf<Pay>12342323</Pay> sdfsdfsdf
 sdfsdf

...印刷したいだけです:

1234
12342323

「sed」の使用を検討していましたが、次の行があります。

sed 's/<Pay>(*)<\/Pay>/\1/g' abc.txt

しかし、私はエラーが発生します:

sed: -e 式 #1、文字 22: `s' コマンドの RHS の参照 \1 が無効です

どうすれば目的の出力を達成できますか?

これは、Ubuntu Linux の最新の bash を使用しています。

4

4 に答える 4

0

sedは、Perl とは異なり、括弧をキャプチャするためにエスケープする必要があります。\(.*\)

期待どおりの出力が得られない場合は、残りの行を削除する必要があります。パターンに含めるだけです。

于 2013-09-19T22:26:28.293 に答える