首页 > 系统服务 > 详细

shell正则

时间:2016-04-19 20:15:33      阅读:372      评论:0      收藏:0      [点我收藏+]

正则表达式
为什么要学习? 

什么是正则表达式  ?   使用 一串符号 描述有  共同特征的数据
                                               元字符

正则表达式 由     元字符 、普通字符  、元字符 和普通字符  组成

语法格式
grep   [选项]    ‘正则表达式‘     文件列表
命令  |   grep   [选项]    ‘正则表达式‘

-------------------------------------------------------
ps  aux  |  grep   sshd
grep   root  /etc/passwd

选项?
--color
-q
-c
-n
-v
-i
-E

元字符  有哪些?
^  匹配行首
$   匹配行尾
.    任意单个字符(不包括换号符号 \n)
----------------------------------------------------------------------
定义前边的正则表达式出现的次数

\+  前边的正则表达式出现1次到多次
\? 前边的正则表达式出现0次到1次
*   前边的正则表达式出现0次到多次
----------------------------------------------------------------------

\(\)     把正则表达式做为整体匹配

----------------------------------------------------------------------
\{\} 限定前边正则表达式出现的次数

{N}前边正则表达式必须出现N次
{N,}前边正则表达式至少出现N次
{N,M}前边正则表达式至少出现N次 最多出现M次
----------------------------------------------------------------------
[ ]  范围内匹配,范围内任意一个字符  (次数是一次)
[a-z]    匹配所有小写字母
[A-Z]    匹配所有大写字母

[a-Z]
[a-zA-Z]    匹配所有大小写字母

[279]
[0-9]   匹配所有数字

[a-Z0-9]  匹配所有大小写字母和数字


^[    ]    以范围内的开头
^[a-z]
^[0-9]
^[169]
^[afw]

[   ]$   以范围内的结束

^[a-c][0-9]$

[^    ]    范围内取反

^[^a-Z0-9]    匹配以符号开头的行

------------------------------------------------------------
\|   或

  grep  --color  ‘^root\|^daemon‘  /etc/passwd

  962  grep  --color  ‘^root\|^daemon‘  /etc/passwd
  963  grep  --color  ‘^r\|^d‘  /etc/passwd
  964  grep  --color  ‘^[rd]‘  /etc/passwd

----------------------------------------------------------------------

\<  单词的开头
\>  单词的结束
  968  head -5 /etc/httpd/conf/httpd.conf  | grep  --color  ‘\<c‘
  969  head -5 /etc/httpd/conf/httpd.conf
  970  head -5 /etc/httpd/conf/httpd.conf  | grep  --color  ‘s\>‘

\b   单词边界

echo  toma  ftomc  tom   > d.txt
echo  toma  ftom9  tom   >>  d.txt
979  grep --color  ‘tom‘ d.txt
  980  grep   ‘tom‘ d.txt
  981  grep   ‘\btom‘ d.txt
  982  grep --color   ‘\btom‘ d.txt
  983  grep --color   ‘tom\b‘ d.txt
  984  grep --color   ‘\btom\b‘ d.txt


----------------------------------------------------------------------
 890  grep --color  -E ‘go{1,3}d‘ a.txt
  891  grep --color  -E ‘go{2,5}d‘ a.txt

  885  grep --color  -E ‘go{1}d‘ a.txt
  886  grep --color  -E ‘go{1,}d‘ a.txt
  887  grep --color  -E ‘g(oo){1,}d‘ a.txt
  888  grep --color  -E ‘g(oo){2,}d‘ a.txt


878  grep --color  -E ‘go?d‘ a.txt
  879  grep --color  -E ‘go{3}d‘ a.txt
  880  grep --color  -E ‘go{1}d‘ a.txt
  881  grep --color  -E ‘g.{1}d‘ a.txt
  882  grep --color  -E ‘g(oo){1}d‘ a.txt
  883  grep --color  -E ‘g(..){2}d‘ a.txt

870  grep --color ‘g\(ooo\)*d‘ a.txt
  871  echo gaaad >> a.txt
  872  grep --color ‘g\(ooo\)*d‘ a.txt
  873  grep --color ‘g\(...\)*d‘ a.txt
  874  echo g9fcd >> a.txt
  875  grep --color ‘g\(...\)*d‘ a.txt
  876  grep --color  -E ‘g(...)*d‘ a.txt


  go*d
  855  grep --color ‘g.*d‘ a.txt
  856  grep --color ‘go*d‘ a.txt
  857  grep --color ‘g.*d‘ a.txt
  858  grep --color ‘goo*d‘ a.txt

‘.*‘
  ‘go\+d‘ 
  ‘g.\+d‘
  ‘go\?d‘ 
  ‘g.\?d‘
^.
.$
^..$
^.a.$
^...$
...

.$
\.$

^$
^p
j$
^plj$
^#
grep --color    ‘^  ‘  a.txt
---------------------------------------------------------------------
元字符
^     $     .    *   +     ?   {n}    {n,}   {n,m}

[  ]
[0-9]  [a-Z]   [a-z]   [A-Z]   [a-Z0-9]

^[    ]        [^    ]         ^[^     ]

( )     |       \b       \>     \<
---------------------------------------------------------------------
XX:XX:XX:XX:XX:XX

 

grep  -E  --color  ‘([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}‘  mac.txt


0 1 2 3 4 5 6 7 8 9 a b c d e f  A B C DEF
                                
grep  --color  ‘\([0-9A-Fa-f]\{2\}:\)\{5\}[0-9A-Fa-f]\{2\}‘  mac.txt
      ---------------------------------------------------------------------

shell正则

原文:http://liangzai818.blog.51cto.com/10003446/1765437

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!