首页 > 技术文章 > 【shell】grep使用正则表达式

seyjs 2016-03-15 09:58 原文

要求如下:

有一些具有固定格式的数字, 如下:

    031-723-2328
    12345678
    (234)-001-8932
    123-345-1234
    5761234
    (234-777-1234

复制代码
条件:
1.> 长度为7的数字
2.> 由 3,3,4 长度组成, 并由 - 字符进行分割的
3.> 第一组数字由一对小括号包围起来的, 但是必须成对出现

要求的结果是:
031-723-2328
(234)-001-8932
123-345-1234
5761234

 

第一个条件可以用 ^[0-9]{7}$来表示

第二个条件可以用 ^[0-9]{3}-[0-9]{3}-[0-9]{4}$ 来表示

第三个条件可以用^([0-9]\+)来表示

注意:在使用的时候,很多字符需要转义。

命令如下:

[root]$ cat grepMulti.txt  | grep  '^[0-9]\{3\}-[0-9]\{3\}-[0-9]\{4\}$\|^[0-9]\{7\}$\|^([0-9]\+)'
031-723-2328
(234)-001-8932
123-345-1234
5761234

 

推荐阅读