<id>
次のように、との間のすべての数値を抽出したい</id>
:
<id>123</id>
<id>456</id>
を含むファイルを取得するには
123
456
私はgrepにかなり慣れていません。答えてくれてありがとう。
これはそれを作ることができます:
$ grep -Po '(?<=<id>)\d+' file
123
456
その後の数字を探して<id>
出力します。
-o
は、「一致する行の一致した (空でない) 部分のみを出力し、そのような各部分を別々の出力行に出力する」の略です。-P
は「PATTERN を Perl 正規表現として解釈する」の略です。(?<=<id>)\d+
意味:\d+
次の のみに一致します<id>
。詳細については、Regex チュートリアル - Lookaheadおよびsudo_O によるこの素敵な説明を参照してください。