bash正则

目录

基础正则表达式

“ * ”

" . "匹配除换行符之外的任意字符

" ^"匹配一行的开头" $"结尾

"[ ]"匹配括号内字符集制定字符

"[^]"

”\“

”\{n\}“

”\{n,\}“

”{n,m\}“

"\<\>"标记单词边界

"?"匹配字符

"+"匹配字符

”\{\}“匹配前边正则表达式的次数

"()"包含一组正则表达式"|"正则表达式的"或"操作符匹配一组可选的字符

“=~”正则表达式比较操作符


基础正则表达式

rep,awk,sed等命令都支持正则表达式

grep后加”-n“显示行号(?)

cat /etc/passwd | grep /bin/bash | grep -v root | cut -d ":" -f 1

打开passwd,截取包含字符串”/bin/bash“的行,除了包含”root“字符串的,选择”:“为分隔符,截取第一列

“ * ”

#grep "a*" FileName

匹配所有内容,包括空白行

#grep "aa*" FileName

匹配至少包含有一个a的行

#grep  "aaa*" FileName

匹配最少包含两个连续a的字符串

" . "匹配除换行符之外的任意字符

#grep "s..d" FileName

"s..d"会匹配在s和d这两个字母之间一定有两个字符的单词

#grep "s.*d" FileName

匹配在s和d字母之间有任意字符

#grep ".*" FileName

匹配所有内容

" ^"匹配一行的开头" $"结尾

#grep "^M"  FileName

匹配以大写"M"开头的行

#grep "n$" FileName

匹配以小写"n"结尾的行

#grep  -n "^$" FileName

匹配空白行(-n会显示空白行是第几行,不加-n只是显示几个空白行

"[ ]"匹配括号内字符集制定字符

#grep "s[ao]id" FileName

匹配s和i字母中,要不是a,就是o

#grep "[0-9]"  FileName

匹配任意一个数字

#grep "^[a-z]" FileName

匹配用小写字母开头的行

"[^]"

#grep "[^a-z]" FileName

匹配不用小写字母开头的行

#grep "[^a-zA-Z]" FileName

匹配不用字母开头的行

”\“

#grep "\.$" FileName

匹配使用”.“结尾的行

不加”\“会显示所有带"."结尾的行

”\{n\}“

#grep "a\{3\}" FileName

匹配a字母连续出现三次的字符串

#grep "[0-9]\{3\}" FileName

匹配包含连续的三个数字的字符串

”\{n,\}“

#grep "^[0-9]\{3,\}[a-z]" FileName

匹配最少用连续三个数字开头的行

”{n,m\}“

#grep "sa\{1,3\}i" FileName

匹配在字母s和字母i之间最少有一个a,最多三个a

"\<\>"标记单词边界

#尖括号必须是转义的,否则只有字符的字面含义

例:\<the\> 匹配单词"the",但不匹配"them","there"等

"?"匹配字符

#匹配1个或0个前边的字符

"ab?c" 匹配"ac"或"abc"

"+"匹配字符

#匹配个或多个前边的字符,作用和"*"号类似,但是不匹配0个字符

"ab+c" 匹配"abc" "abbc" "abbb…c"

不匹配"ac"

”\{\}“匹配前边正则表达式的次数

"[0-9]\{5\}"

匹配5位数字

"()"包含一组正则表达式
"|"正则表达式的"或"操作符匹配一组可选的字符

"a(b|cd)"

匹配"abd"或"acd"

“=~”正则表达式比较操作符

if [ [ $digit =~ [0-9] ] ]

then

echo "$digit is a diigit"

else

echo 'Oops'

fi

检测变量是否为十进制数字

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值