grep
文本搜索工具,可以使用正则表达式 搜索文本同时将 匹配到的内容进行输出.
参数
-E gerp的扩展(升级版本)等同于egerp
-v 显示不包含匹配文本的所有行
-o 显示过程
-i 查询信息时不区分大小写
-n 显示匹配行即行号
-r 递归查找信息
正则表达式主要参数
\
1.将有特殊意义符号,转义成普通信息进行识别
2.将没有意义的信息转义为有特殊意义的信息
(\n 换行符号)
(\t 制表符号)
[ ] 单个字符,如[AO]即AO符合要求 。
[ - ] 范围,如[A-Z],即A、B、C一直到Z都符合要求
(-) 匹配前一个字符连续出现了1次或者多次
{} 可以指定字符连续匹配的次数
1.x{n,m} 表示前一个字符至少连续出现n次,最多出现m次
2.x{n} 表示前一个字符正好连续出现了n次
3. x{n,} 表示前一个字符至少连续出现n次,最多出现多少次不限
4. x{,m} 表示前一个字符至少连续出现0次,最多出现m次
gerp -v "^$" /ppd/ppd.txt
排除空行显示
gerp "." /ppd/ppd.txt
搜索ppd.txt文件中.的信息
gerp "0*" /ppd/ppd.txt
匹配前一个字符连续出现0次或者多次.
gerp "^m.*m$" /ppd/ppd.txt
查询ppd.txt文件中以m开头m结尾的内容
gerp "^m.*o" /ppd/ppd.txt
查询ppd.txt文件中以m开头,其中包含o的内容
gerp "^m.*ot" /ppd/ppd.txt
查询ppd.txt文件中以m开头,其中包含ot的内容
(ps:.*==*)
grep "\.$" /ppd/ppd.txt
显示以.结尾的内容(注意正则符号\的使用)
grep "p[oe]y" /ppd/ppd.txt
匹配poy和pey的内容
grep "^[Im]" /ppd/ppd.txt
匹配I和m开头的内容
grep "^[a-Z]" /etc/selinux/config
匹配a-Z开头的内容
egrep "0+" /ppd/ppd.txt
匹配0出现一次或者多次的内容(注意+号要用高级版本egrep)
echo 123456|sed -r 's#([1-6]+)#<\1>#g'
echo 123456|sed -r 's#(.*)#<\1>#g'
echo 123456 ==> 转换为 <123456>进行显示
grep -E "0{2,3}" /ppd/ppd.txt
显示0至少出现2次最多出现3次的内容
grep -E "0{2}" /ppd/ppd.txt
显示0正好出现2次的内容
grep -E "0{2,}" /ppd/ppd.txt
显示0最少出现2次最多不限次数的内容
grep -E "0{,2}" /ppd/ppd.txt
显示0最少出现0次最多不限次数的内容