basic regexp :基本正则表达式 元字符;
. :匹配任意单个字符
[ ] : 指定范围内的任意单个字符;
[abc],[aA],[Cc]at
[^] [:upper:] , [:lower:], [:digit:], [:alpha:], [:alnum:], [:space:]
* : 匹配其前面的字符任意次
ab*c;abc,abbc,
.* :任意长度的任意字符,贪婪模式
X\{m,n\}:表示X出现的次数,最少是m次,最高的次数是n次;
X\{m,\}:表示X,最少出现m次数
X\{0,n\}:表示X最多出现n次,出现的次数0<=次数<=n
?: 匹配其前面的字符0次或1次
ab?c;abc,abbc,ac
锚定符:
^:锚定行首
^r..t
$:锚定行尾
^$:空白行
\<:等同 \b: 锚定词首
\>:等同 \b: 锚定词尾
r..t\>
\(\):分组
后向引用:\1,\2
新建一个文件456.txt 在456.txt里面写He love his lover; She like her liker;He love his liker 现在,我们要grep出里面的第一句话和第三句话;
grep选项:
-v:对结果取;
练习:
1:新建user1,user11,myuser1 这三个用户,在/etc/passwd中找出use1用户的相关信息!
正确答案是:grep "^\" /etc/passwd
在这里,如果你要是不加^这个的话,就会出现问题的,比如,我现在新建一个用户:“useradd -c ”user1‘s uncle“ hello ,你要是直接用grep ”\" /etc/passwd ;就会出现下面的情况:
查找当前系统上名字为user后面跟了数字的相关用户的信息;
阅读(669) | 评论(0) | 转发(0) |