Bash Regex匹配数字

时间:2013-02-26 15:09:27

标签: regex bash

我尝试仅匹配此格式的文本文件中的数字:

> 1234

我通过循环运行文件。每个行存储在$i

$i | grep "\d{4}"

输出如下:

>
1234
>
5678

为什么还在输出>?我想删除它们。

1 个答案:

答案 0 :(得分:2)

来自man grep

   -o, --only-matching
          Print only the matched (non-empty) parts of a matching line, with each such part on a
          separate output line.

尝试grep -o ....

测试:

i="> 1234"
$ echo "$i"
> 1234
$ echo "$i" | grep -oP "\d{4}"
1234