Linux shell 脚本示例(二)

一、正则表达式
a、基本正则表达式

元字符描述
.匹配任意单个字符
*匹配其前面的字符任意次
.*任意长度的任意字符
[]匹配指定范围内的任意单个字符
[^]匹配指定范围外的任意单个字符
[:lower:]小写字母
[:upper:]大写字母
[:alpha:]所有字母
[:digit:]数字
[:alnum:]所有数字和字母
[:punct:]标点符号
[:space:]空白字符
\?匹配其前面的字符1次或0次
{m,n}匹配其前面的字符至少m次,至多n次
^铆定行首,此字符后面的任意内容必须出现在行首
$铆定行尾,此字符前面的任意内容必须出现在行尾
^$表示空白行
\<或\b铆定词首,其后面的任意字符必须作为单词的首部出现
\>或\b铆定词尾,其前面的任意字符必须作为单词的尾部出现
()分组
(ab)*ab作为一个整体,可以出现任意次
(ab).*\1引用第一个左括号以及与之对应的右括号所包括的所有内容
(ab).*\2引用第二个左括号以及与之对应的右括号所包括的所有内容

b、扩展整个表达式

.匹配任意单个字符
[]匹配指定范围内的任意单个字符
[^]匹配指定范围外的任意单个字符
*匹配其前字符任意次
?匹配其前字符0次或1次
+匹配其前字符至少1次,类似于基本正则表达式{1,}
{m,n}匹配其前面的字符至少m次,至多n次
^行首
$行尾
\<或\b词首
\>或\b词尾

c、实例
cp一份/etc/passwd文件到/tmp

#查找特定的关键字
grep -n "ntp" /tmp/passwd 
#对查找结果进行取反
grep -vn "ntp" /tmp/passwd 
#利用[]查找集合字符
 grep -n "p[ou]" /tmp/passwd 
#利用^取反
 grep -n "p[^o]" /tmp/passwd 

转载于:https://blog.51cto.com/woonli/2147250

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值