grep对文本文件进行模式查找,如果找到匹配模式,grep打印包含模式的所有行。
-i 不区分大小写(只适用于单字符) 。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的所有行。
抽出行首不是48的数据
抽出各行包含S e p t和s e p t的所有信息(忽略大小写)
抽出,以两个大写字母开头,中间两个单字符,以C结尾的数据行
日期查询以5开头以1996或1998结尾的记录
抽取包含数字4至少重复出现两次的所有行
抽取记录使之包含数字9 9 9(三个9)
系统grep命令
用管道命令,即符号|,使用它左边命令的输出结果作为它右边命令的输入。
如果在一个目录中查询不包含目录的所有文件
要查询其他用户和其他用户组成员有可执行权限的目录集合
- grep的一般格式:
- grep选项
-i 不区分大小写(只适用于单字符) 。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的所有行。
- grep与正则表达式
$ grep '48[34]' filename |
$ grep '^[^48]' filename |
$ grep '[Ss]ept' filename or $ grep -i 'sept' filename |
$ grep '[A-Z][A-Z]..C' filename |
$ grep '5..199[6,8]' filename or $ grep '[0-9]\{3\}[8]' filename |
$ grep '4\{2,\}' filename |
$ grep '9\{3\}' filename |
- 使用grep匹配“与”或者“或”模式
$ grep -E '219|216' filename |
- 空行
$ grep '^$' filename |
- 查询格式化文件名
$ grep '[^a-z]\{1,6/}\.[^A-Z]\{1,2\}' filename |
- 查询IP地址
$ grep '[0-9]\{3\}\.[0-0\{3\}.' filename |
系统grep命令
用管道命令,即符号|,使用它左边命令的输出结果作为它右边命令的输入。
- 目录命令
$ ls -l | grep '^d' |
$ ls -l | grep '^[^d]' |
$ ls -l | grep '^d....x..x' |
- 使用ps命令
使用带有ps x命令的g r e p可查询系统上运行的进程。ps x命令意为显示系统上运行的所有进程列表。要查看D N S服务器是否正在运行(通常称为n a m e d) ,方法如下:
$ ps -ax | grep "named" |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24419958/viewspace-673020/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24419958/viewspace-673020/