筛选命令grep
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep有很多的选项,例如:
-i:忽略筛选条件的大小写
-v:筛选条件取反
-E:有多个筛选条件
-n:显示过滤的内容所在的行数
-大A:显示筛选内容并显示内容下两行
-大B:显示筛选内容并显示内容上两行
-大C:显示筛选内容并显示内容上下各两行
除了选项外,grep命令还可以在关键字前添加符号使用。
关键字前面加脱字符号可以筛选以此关键字开头的行
关键字后面加$符号,可以筛选以此关键字结尾的行
语法格式:命令 选项 过滤条件 参数
例:
[root@ocalhoust ~]# grep "root" /etc/passwd
匹配/etc/目录下,passwd文件内容中包含root关键字的行
[root@ocalhoust ~]# grep "^root" /etc/passwd
匹配passwd文件内容中以root开头的行
[root@ocalhoust ~]# grep "/bin/bash$" /etc/passwd
匹配passwd文件内容中以/bin/bash结尾的行
[root@ocalhoust ~]# grep -v "/bin/bash$ " /etc/passwd
匹配passwd文件内容中除去以/bin/bash$结尾的行,都列出来
[root@ocalhoust ~]# grep -i "root" ./pass
匹配passwd文件内容中以root开头的行,忽略root大小写匹配
[root@ocalhoust ~]# grep -E "sync$|ftp" pass
匹配passwd文件内容中包含sync结尾或ftp字符串
[root@ocalhoust ~]# grep -n "root" pass
匹配passwd文件内容中以root开头的行,并显示匹配的内容在文件中的多少行