Shell基础-正则表达式

Shell基础-正则表达式

正则表达式
它用来在文件中匹配符合条件的字符串,正则是包含匹配。grep、awk、sed等命令支持正则表达式。
而通配符用来在系统匹配符合条件的文件名,是完全匹配。ls、find、cp这些命令不支持正则表达式,所以只能使用shell自己的通配符来进行匹配了。

元字符                    作用
  *             把前一个字符匹配0次,或任意次
例子:grep "a*" hh.txt   匹配hh.txt所有内容,包括空白行
        grep "aa*" hh.txt   匹配hh.txt中至少包含有一个a的行。
       grep "aaa*" hh.txt   匹配hh.txt中最少包含两个连续a的行。

  .            匹配除换行符外任意一个字符
例子:grep "s..d" hh.txt   匹配在s和d这两个字母之间有两个字符的单词所在行
   grep "s.*d" hh.txt   匹配在s和d字母之间有任意字符的字符串所在行
    grep ".*" hh.txt   匹配hh.txt所有内容

  ^  匹配行首             $ 匹配行尾
例子:grep "^M" hh.txt   匹配以大写M开头的行
   grep "n$" hh.txt   匹配以小写n结尾的行
   grep "^$" hh.txt   匹配空白行

 []   匹配中括号里指定的任意一个字符,只匹配一个字符
例子:grep "s[ao]id" hh.txt   匹配s和i字母中间,要不是a,要不是o的行。
  grep "^[a-z]" hh.txt   匹配小写字母开头的行

  [^]          匹配除括号里的字符以外的任意一个字符
例子:grep "^[^a-z]" hh.txt   匹配不以小写字母开头的行。
    grep "^[^a-zA-Z]" hh.txt   匹配不以字母开头的行,(小写字母要在前面)。

   \      转义符
例子: grep "\.$" hh.txt   匹配以"."结尾的行。

 \{n\}         匹配前面字符恰好出现n次
例子:grep "a\{3\}" hh.txt   匹配a字母连续出现三次的行。
    grep "[0-9]\{3\}" hh.txt   匹配包含连续的三个数字的行。

  \{n,\}      匹配前面的字符出现不小于n次
例子:   grep "^[0-9]\{3\}" hh.txt   匹配最少连续的三个数字开头的行。

\{n,m\}       匹配其前面的字符至少出现n次,最多出现m次。
例子:grep "s[ao]id" hh.txt   匹配s和i字母中间有最少一个a,最多三个a。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值