您的位置:首页 > 其它

find + grep 文件查找

2013-08-24 19:10 169 查看
find命令的工作方式如下:沿着文件层次结构向下遍历,匹配符合条件的文件,并执行相应的操作。
find常用操作
查找原形例子说明
文件find + “路径” +“ –name” + “文件名”find “/” -name “httpd.conf”“-name”文件名字参数从(from)哪里(路径)找什么(文件名)
文件内容find + “路径” +“ –name” + “文件名”+ | grep + “字符” find . -name "*.*" |xargs grep 'xiaoshou' > list.txtgrep的工作方式是这样的,它在一个或多个文件中搜索字符串”搜索内容串”。如果”搜索内容串”包括空格,则必须被引用,”搜索内容串”后的所有字符串被看作文件名。搜索的结果被送到屏幕,不影响原文件内容
Find命令算项参数
查找参数说明例子
以时间方式-amin n查找系统中最后N分钟访问的文件find / -amin -10 # 查找在系统中最后10分钟访问的文件
-atime n查找系统中最后n*24小时访问的文件
-cmin n查找系统中最后N分钟被改变状态的文件
-ctime n查找系统中最后n*24小时被改变状态的文件
-mmin查找在系统中最后n分钟里修改过的文件
-mtime查找在系统中最后n*24小时里修改过的文件
以系统模式方式-empty查找系统中空白的文件,或空白的文件目录,或目录中没有子目录的文件夹find / -empty # 查找在系统中为空的文件或者文件夹
-false查找系统中总是错误的文件
-fstype type查找系统中存在于指定文件系统的文件,例如:ext2find / -user fred #查找在系统中属于FRED这个用户的文件
-gid n查找系统中文件数字组 ID 为 n的文件
-group gname查找系统中文件属于gnam文件组,并且指定组和ID的文件
-user name查找在系统中属于name这个用户的文件
-name指定了文件名所必须匹配的字符串可以使用\(和\)将多个条件连接成一个条件进行相应的搜索如find . \( –name “*.txt” –o –name “*.pdf” \) -print
-path可以使用通配符来匹配文件路径和文件-name总是用给定的文件名进行匹配,-path则将文件路径作为一个整体进行匹配
-regex参数和 -path类似,只不过-regex是基于正则表达式来匹配文件路径的
!否定参数查找所以不以.txt结尾的文件名。find . ! –name “*.txt” –print
-maxdepth限定目录搜索的深度
-type按文件类型搜索普通文件 f 符号链接l 目录d 字符设备 c 块设备 b 套接字 s FIfo p
-delete删除匹配的文件
grep的工作方式是这样的,它在一个或多个文件中搜索字符串”搜索内容串”。如果”搜索内容串”包括空格,则必须被引用,”搜索内容串”后的所有字符串被看作文件名。搜索的结果被送到屏幕,不影响原文件内容。grep -[acinv]‘命令算项’+ '搜索内容串' filename
grep命令算项参数
参数说明例子
-a以文本文件方式搜索
-c计算找到的符合行的次数
-i忽略大小写
-n顺便输出行号
-v反向选择,即找没有搜索字符串的行
-?
同时显示匹配行上下的?行grep -2 pattern filename同时显示匹配行的上下2行
-b打印匹配行前面打印该行所在的块号码
-f File,--file=File
从文件中提取”搜索内容串”空文件中包含0个”搜索内容串”,所以什么都不匹配
-h当搜索多个文件时,不显示匹配文件名前缀
-q取消显示,只返回退出状态。0则表示找到了匹配的行
-l打印匹配”搜索内容串”的文件清单
-L打印不匹配”搜索内容串”的文件清单
-s不显示关于不存在或者无法读取文件的错误信息
其中搜索串可以是正则表达式! (vim、grep、awk 、sed 都支持正则表达式)
grep正则表达式元字符集
符号意义例子
^锚定行的开始'^grep' 匹配所有以grep开头的行。
$锚定行的结束'grep$'匹配所有以grep结尾的行
.匹配一个非换行符的字符'gr.p'匹配gr后接一个任意字符,然后是p
*匹配零个或多个先前字符*grep'匹配所有一个或多个空格后紧跟grep的行。
[]匹配一个指定范围内的字符如'[Gg]rep'匹配Grep和grep
[^]匹配一个不在指定范围内的字符[^A-FH-Z]rep'匹配不包含A-F和H-Z的一个字母开头,紧跟rep的行
\(..\)标记匹配字符如'\(love\)',love被标记为1
\<锚定单词的开始如:'\<grep'匹配包含以grep开头的单词的行
\>锚定单词的结束如'grep\>'匹配包含以grep结尾的单词的行
x\{m\}重复字符x,m次如:'0\{5\}'匹配包含5个o的行
x\{m,\}重复字符x,至少m次'o\{5,\}'匹配至少有5个o的行
x\{m,n\}重复字符x,至少m次,不多于n次如:'o\{5,10\}'匹配5--10个o的行
\w
匹配文字和数字字符也就是[A-Za-z0-9]'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。
\W
\w的反置形式,匹配一个或多个非单词字符,如点号
\b单词锁定符如: '\bgrep\b'只匹配grep
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  find grep