码迷,mamicode.com
首页 > 系统相关 > 详细

linux正则表达式和正则表达式的一些命令

时间:2014-09-12 02:31:13      阅读:302      评论:0      收藏:0      [点我收藏+]

标签:replace   linux   source   三剑客   表达式   

    正则表达式是处理一批繁杂的数据,做到快速搜索,快速匹配,快速替换删除等功能的一种需求。常用正则表达式的命令有grep,sed,awk(三剑客)vi,egrep。其中egrep和awk还支持扩展的正则表达式。

    下面先介绍一下这些命令。vi和vim在以后介绍。



     grep:

          -v:排除匹配内容。

          -i:忽略大小写。

          -o:只输出匹配内容。

          -n:在行首显示行号。

          -e:扩展的正则表达式(=egrep)。

          --color=auto:支持颜色。



     sed:输出时既输出匹配内容,还要把源内容原封不动得输出。

          s: 替换。(格式  s/source string/replace string/)

          g: 全局。一般与s一起用。(s/source string/replace string/g)

          p:  打印。可以和sg一块使用(s/source string/replace string/gp)

          w file: 保存至file文件中。

          d:删除。

          a: 追加。

          i:在前面插入。

          c: 修改。

          y: 按字符转换。

          -f script-file:运用script-file来运行file文件。(格式:sed -f sed.sh test.txt)

          -n:静默模式输出。(只输出匹配内容)

          -i: 修改源文件。

          -r: 支持扩展正则。



   正则表达式技术:

              . :任意单个字符。

              * :匹配前面的字符零次或多次。

              .*:匹配任意多个字符。

              []:匹配[]内任意单个字符。

              ^ :匹配字符串的行首。

              $ :匹配字符串的行尾。

              ^$:空白行。

              \{m,n\}:匹配前面字符重复m-n次。

              \{m,\}:匹配前面的字符重复至少m次。

              \{,n\}:匹配前面的字符重复最多n次。

              其中,\{\}对于扩展的正则表达式使用{}。

              \(string\) 和\n :\n(使用\1,\2...\9)是string的内容。

   扩展的正则表达式:

              + : 重复前面的字符一次货多次。

              ?:重复前面的字符零次或一次。

              | : 匹配|前面或后面的字符。

             ():匹配正则集合。

              {m,n}:重复前面的字符m-n次。

              posix:[]内的字符集:

              [:alpha:] 字母           [:blank:] 空格或Tab字符

              [:digit:] 数字           [:upper:] 大写字母

              [:punct:] 标点符号       [:lower:] 小写字母

              [:space:] 空白字符       [:alnum:] 字母或数字字符

              




       



         



linux正则表达式和正则表达式的一些命令

标签:replace   linux   source   三剑客   表达式   

原文地址:http://1992521226.blog.51cto.com/7811285/1551340

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!