linux Grep使用正则表达式输出电话号码

mefy6pfw  于 2022-11-02  发布在  Linux
关注(0)|答案(1)|浏览(285)

我想从一个只包含某些线路的文件中获取电话号码。
这些数字只有以下形式:但是,有0405的数,我只需要0607,我不知道如何得到一个统一的正则表达式。
目前,这是可行的,但我有0405数字:

grep -E 'expression.*[0-9]\{10\}' file > output

如何使此命令生效?

grep -E 'expression.*(06)[0-9]\{8\}|(07)[0-9]\{8\}' file > output
bxgwgixi

bxgwgixi1#

您可以使用字符类将其写成以06或07开头,以匹配6或7:

expression.*0[67][0-9]{8}

使用 grep -E

grep -E 'expression.*0[67][0-9]{8}' file > output

要使用 grep -oP 作为Perl兼容的正则表达式仅获取电话号码,请执行以下操作:

grep -oP 'expression.*\K0[67][0-9]{8}' file > output

相关问题