Linux之grep命令
1.grep的作用
Global search regular expression(RE) ,简称grep;是一种强大的文本搜索工具,可以使用正则表达式搜索文本,并把匹配打印出来。
2.grep常用参数
- -v #排除,取
- -n #显示行号
- -E #支持扩展正则表达式(与egrep作用相同)
- -i #==ignore-case忽略大小写
- -w #==word以单词格式查找
- -c #统计匹配上的行数(统计包含xxx的有多少行)
- -A #==after 匹配行的后几行
- -B #==before 匹配行的前几行
- -C #匹配行的前后几行
- -o #显示匹配过程
- -r #在目录下递归的在所有文件中查找需要的内容
-s #不显示不存在或无匹配文本的错误信息
-l #查询文件时只输出包含匹配文本的错误信息
-h #查询文件时不显示文件名
3.grep命令操作练习
(1)在 dks.txt 文件中匹配上 test 的行数
- grep -c "test" dks.txt
(2)统计在 dks.txt 文件中,test 字符串出现的次数
- grep -o "test" dks.txt |wc -l
(3)打印 test 的行及行号
- grep -n "test" dks.txt
(4)不区分大小写查找 tEst 所有行
- grep -i "tEst" dks.txt
(5)匹配以字符 test 开头,接 5 或 3 的行
- grep "test[53]" dks.txt
(6)显示输出行首不是 test 的行
- grep "^[^test]" dks.txt
(7)匹配 M 或 m 开头的行
- grep "^[mM].*" dks.txt
(8)匹配 K 和 D,并且 K 和 D 中间有三个任意字符
- grep "K..D" dks.txt
(9)匹配大写字母,紧跟 9D 的字符行
- grep "[A-Z]9D" dks.txt
(10)打印 T 字符连续出现 2 次以上的行
- grep "T\{2,\}" dks.txt
(11)打印 T 字符连续出现 2 次至 6 次之间的行
- grep "T\{2,6\}" dks.txt
(12)打印空行所在的行号
- grep -n "^$" dks.tx
(13)不匹配文件中的#号和空行
- grep -vE "^$|#" dks.txt
(14)在/data 目录下,匹配文件中包含 db 或者 config 或者 sql 的文件
- grep -ra -E "db|config|sql" /data
(15)匹配 ip 地址
- ifconfig eth0 |grep "inet "|grep -E "\<([0-9]{1,3}\.?){4}" -o|head -1
版权声明:本文为shitou-st原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。