美文网首页Linux
03_查找和检索

03_查找和检索

作者: 对方不想理你并向你抛出一个异常 | 来源:发表于2017-08-04 22:29 被阅读7次

find

  • 根据文件名查找
    find pathname -options [-print -exec -ok -name -type...]
  1. 在目录中搜索文件,path指定目录路径,系统从这里开始沿着目录树向下查找文件。它是一个路径列表,相互用空格分离,如果不写path,那么默认为当前目录。Expression 是find命令接受的表达式,find命令的所有操作都是针对表达式的。
  2. 一条最常用的find命令--在当前目录及子目录下查找所有以file开头的文件名。
$ find . -name 'file*'
$ find \/ -name 'vimrc'
$ find ~ -name '*.c'
$ find /usr/ -name "*tmp*" -exec ls -l { } \;
find ./ -name "*tmp" -ok rm { } \;  
sudo find ./ -size +65M
//搜索大于65M的文件
sudo find ./ -size +65M -size -100M -exec ls -lh {} \;
//搜索大于65M的文件小于100M的文件,并按格式显示

注意:

  1. -exec表示对结果集执行二次命令
  2. *表示通配符
  3. ?表示只匹配一个字符
  4. \;固定语法,表示结束符
  5. -type按类型来搜索

grep

  • 根据内容检索
    grep [options] PATTERN [FILE...]
  1. 在指定文件中搜索特定的内容,并将含有这些内容的行输出到标准输出。若不指定文件
    名,则从标准输入读取。
  • [options]部分包含的主要参数:
-I:不区分大小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
-R: 连同子目录中所有文件一起查找。
  • 比如到系统头文件目录下查找所有包含printf的文件
$ grep 'printf' /usr/include -R  

xargs

  • 从标准输入建立和执行命令行
    xargs [OPTION] [command]
  1. 它的作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题
  2. 在使用find命令的-exec选项处理匹配到的文件时,find命令将所有匹配到的文件一起传递给exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用处所在,特别是与find命令一起使用。
  3. find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。
  4. 查找系统中的每一个普通文件,然后使用xargs命令来测试它们分别属于哪类文件:
    find . -type f | xargs file
    查找usr目录下名字以“tmp”开头的文件,将其详细信息列出。
//错误,结果是当前目录的ls -l信息
find /usr -name "tmp*" | ls -l
find /usr -name "tmp*" | xargs ls -l
find /usr -name "tmp*" -print0 | xargs -0 ls -l
  • -print0表示输出以null分隔(-print使用换行);-0表示输入以null分隔。查找当前目录下,文件名包含“bin”字串的文件,并在文件中搜索“printf”这个词
find ./ -name "*bin*" | grep "printf"
find ./ -name "*bin*" | xargs grep "printf"
find ./ -name "*bin*" -print0 | xargs -0 grep "printf"  

相关文章

  • 03_查找和检索

    find 根据文件名查找find pathname -options [-print -exec -ok -nam...

  • google检索

    google高级检索方法 翻译egg in chinese 查找Twitter账号@cctv 查找twitter ...

  • linux命令记录

    查找文件 find / -name fileName 在根目录中查找文件fileName 在文件中检索字符 ...

  • 查找与替换

    查找与替换就是实现快速,高效检索信息的目的。充分利用查找和替换的十大技巧 ,快速整理报表资料。 一.基本用法 开始...

  • 4/21别说这些查找替换技巧我没告诉你

    查找与替换就是实现快速,高效检索信息的目的。充分利用查找和替换的十大技巧 ,快速整理报表资料。 一.基本用法 开始...

  • Hibernate(03)

    OID检索方式: HQL\QBC和SQL的区别? 条件查找 排序 分页查询: HQL: QBC 或者 聚合函数co...

  • 法律检索笔记

    1 检索并不是单纯的查找法条和案例,也可以用来核验事实2 检索是一门实践性较强的技能,这种技能和编程一样,单单的去...

  • Excel数据多使用vlookup太慢!使用vlookuptoo

    当我们使用excel检索数据时经常使用vlookup函数进行查找,vlookup函数的强大不用多说,但随着我们检索...

  • Mongodb常用操作

    基本命令 导入\导出\备份\恢复 创建索引 模糊查找(link) 全文检索(首先要开启全文检索,默认2.6之后是开...

  • Linux4_文件查找和内容检索

    按文件属性查找 1按文件名查找 find + 查找的目录 + -name +“文件的名字” 通配符 *统配多个字符...

网友评论

    本文标题:03_查找和检索

    本文链接:https://www.haomeiwen.com/subject/ymgblxtx.html