0

我想提取 和 之间的所有数字<id></id>如下所示:

<id>123</id> 
<id>456</id> 

得到一个文件,其中包含

123
456

我对grep很陌生,感谢您的回答。

4

1 回答 1

2

这可以使它:

$ grep -Po '(?<=<id>)\d+' file
123
456

它会在之后查找任何数字<id>并打印它们。

  • -o代表“仅打印匹配行的匹配(非空)部分,每个这样的部分在单独的输出行上”
  • -P代表“将 PATTERN 解释为 Perl 正则表达式”
  • (?<=<id>)\d+表示:仅匹配\d+以下<id>. 正则表达式教程中的更多信息- Lookaheadsudo_O 的这个很好的解释
于 2013-06-18T08:40:27.027 回答