日期:2014-05-16  浏览次数:20830 次

Linux 下 Grep命令用法
编程时经常会用到字符串搜索功能,之前的字符串搜索功能总是在linux服务器和windows之间切换完成,师兄告诉我grep很方便,写下来,供自己查询使用,一下grep的每调命令均在自己linux环境测试可用:

grep: g(global) search for a re(regular expression) and p(print) the results.

grep 参数:

-i  忽略大小写

-c  打印匹配行数

-l  从多个文件中茶盅包含匹配项

-v  不包含匹配项的行

-n  打印匹配行和行数标记

grep 正则:

\  忽略re中特殊字符原有含义

^  匹配re开始行

$  匹配re结束后

[ ]  单个字符

[ - ]  匹配范围

.   所有单个字符

*  所有字符,可为0

grep命令举例:

grep "str" filename                   显示包含str字符串行的内容

grep -c "str"                                 显示匹配行数

grep -i "str" filename                 忽略大小写匹配str

grep -n "str" filename                显示所有匹配行的行号

grep -vi "str" filename                显示所有不匹配str行并忽略大小写

grep -e 正则表达式 filename    以正则表达式形式匹配


查找功能还有find命令,下面是转载的:

Linux中find常见用法示例·find    path    -option    [    -print ]    [ -exec    -ok    command ]    {} \;

查找字符串
      find . -name '*.html' -exec grep 'mailto:'{}

#-print 将查找到的文件输出到标准输出
#-exec    command    {} \;       -----将查到的文件执行command操作,{} 和 \;之间有空格
#-ok 和-exec相同,只不过在操作前要询用户====================================================-name    filename               #查找名为filename的文件
-perm                   #按执行权限来查找
-user     username             #按文件属主来查找
-group groupname           #按组来查找
-mtime    -n +n                #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime     -n +n                #按文件访问时间来查GIN: 0px">-perm                          #按执行权限来查找
-user     username            #按文件属主来查找
-group groupname           #按组来查找
-mtime    -n +n                 #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime     -n +n                 #按文件访问时间来查找文件,-n指n天以内,+n指n天以前
-ctime     -n +n                 #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup                          #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser   &nbs