`
flex_莫冲
  • 浏览: 1085099 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

linux下的find文件查找命令与grep文件内容查找命令

 
阅读更多
Linux查找文件内容的常用命令方法。 
从文件内容查找匹配指定字符串的行:
$ grep "被查找的字符串" 文件名
例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件
grep "thermcontact" */*.in

从文件内容查找与正则表达式匹配的行:
$ grep –e “正则表达式” 文件名

查找时不区分大小写:
$ grep –i "被查找的字符串" 文件名

查找匹配的行数:
$ grep -c "被查找的字符串" 文件名


从文件内容查找不匹配指定字符串的行:
$ grep –v "被查找的字符串" 文件名


从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行
find / -type f -name "*.log" | xargs grep "ERROR"
例子:从当前目录开始查找所有扩展名为.in的文本文件,并找出包含”thermcontact”的行
find . -name "*.in" | xargs grep "thermcontact"

 在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。

  区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。

               (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。

  一.find命令

    基本格式:find  path expression

    1.按照文件名查找

    (1)find / -name httpd.conf  #在根目录下查找文件httpd.conf,表示在整个硬盘查找
    (2)find /etc -name httpd.conf  #在/etc目录下文件httpd.conf
    (3)find /etc -name '*srm*'  #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件
    (4)find . -name 'srm*'   #表示当前目录下查找文件名开头是字符串‘srm’的文件

    2.按照文件特征查找     

    (1)find / -amin -10   # 查找在系统中最后10分钟访问的文件(access time)
    (2)find / -atime -2   # 查找在系统中最后48小时访问的文件
    (3)find / -empty   # 查找在系统中为空的文件或者文件夹
    (4)find / -group cat   # 查找在系统中属于 group为cat的文件
    (5)find / -mmin -5   # 查找在系统中最后5分钟里修改过的文件(modify time)
    (6)find / -mtime -1   #查找在系统中最后24小时里修改过的文件
    (7)find / -user fred   #查找在系统中属于fred这个用户的文件
    (8)find / -size +10000c  #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)
    (9)find / -size -1000k   #查找出小于1000KB的文件

    3.使用混合查找方式查找文件

    参数有: !,-and(-a),-or(-o)。

    (1)find /tmp -size +10000c -and -mtime +2   #在/tmp目录下查找大于10000字节并在最后2分钟内修改的文件
         (2)find / -user fred -or -user george   #在/目录下查找用户是fred或者george的文件文件
         (3)find /tmp ! -user panda  #在/tmp目录中查找所有不属于panda用户的文件
       

  二、grep命令

     基本格式:find  expression

    1.主要参数

    [options]主要参数:
    -c:只输出匹配行的计数。
    -i:不区分大小写
    -h:查询多文件时不显示文件名。
    -l:查询多文件时只输出包含匹配字符的文件名。
    -n:显示匹配行及行号。
    -s:不显示不存在或无匹配文本的错误信息。
    -v:显示不包含匹配文本的所有行。

    pattern正则表达式主要参数:
    \: 忽略正则表达式中特殊字符的原有含义。
    ^:匹配正则表达式的开始行。
    $: 匹配正则表达式的结束行。
    \<:从匹配正则表达 式的行开始。
    \>:到匹配正则表达式的行结束。
    [ ]:单个字符,如[A]即A符合要求 。
    [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
    .:所有的单个字符。
    * :有字符,长度可以为0。

    2.实例 

  (1)grep 'test' d*  #显示所有以d开头的文件中包含 test的行
  (2)grep ‘test’ aa bb cc    #显示在aa,bb,cc文件中包含test的行
  (3)grep ‘[a-z]\{5\}’ aa   #显示所有包含每行字符串至少有5个连续小写字符的字符串的行
  (4)grep magic /usr/src  #显示/usr/src目录下的文件(不含子目录)包含magic的行
  (5)grep -r magic /usr/src  #显示/usr/src目录下的文件(包含子目录)包含magic的行

  (6)grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),

  详细使用参见:http://www.cnblogs.com/end/archive/2012/02/21/2360965.html
分享到:
评论

相关推荐

    [linux下的find文件查找命令与grep文件内容查找命令]linuxfindgrep.docx

    ### Linux下的find与grep命令详解 #### 一、find命令详解 **find** 命令是Linux系统中用于在指定目录树下查找文件的强大工具。它可以基于多种条件(如文件名、文件大小、所有者、组、是否为空、访问时间、修改时间...

    linux 下查找文件或者内容常有命令

    ### Linux 下查找文件或内容常用命令详解 #### 一、`whereis` 命令 `whereis` 命令主要用于查找已安装的软件的相关文件位置,如可执行文件、帮助文件以及源代码等。 **基本用法:** ```bash whereis &lt;程序名称&gt; ``...

    Linux中利用grep命令如何检索文件内容详解

    本篇文章将深入探讨如何使用`grep`命令来检索文件内容,并简要介绍`grep`与`find`命令之间的区别。 #### 一、grep命令基础用法 `grep`命令的基本格式为: ``` grep [选项] "模式" 文件名 ``` 其中,“模式”是指要...

    linux grep命令详解_linux_grep_

    通过学习并熟练运用`grep`命令,不仅可以提高在大量文本数据中查找特定信息的效率,还能为日后的Linux系统管理与数据分析打下坚实的基础。在实际工作中,结合其他命令如`find`、`sed`和`awk`,能实现更复杂的文本...

    linux中grep命令的使用.docx

    find 命令用于从目录树中查找与搜索条件匹配的文件,而 grep 命令用于查找输入流中包含模板文本的行。例如,使用 find /etc -name * | xargs grep wl0505 命令可以查找 etc 目录下含有字符串"wl0505"的文件。 grep ...

    linux-文件查找和内容过滤命令

    本文将详细介绍Linux中的文件查找命令`find`以及内容过滤命令`grep`、`fgrep`和`egrep`,帮助读者更好地掌握这些工具的使用方法。 #### 二、grep、fgrep和egrep命令详解 **1. grep命令** - **概述**:`grep`命令...

    Linux的五个查找命令.pdf

    Linux作为一套开源的操作系统,拥有众多的文件查找命令。以下是五个常用的Linux查找命令的知识点解析: 1. find命令 find命令是在Linux中非常强大的文件查找工具,能够帮助用户在指定目录及其子目录下查找符合特定...

    Linux文本查找命令find的用法详解

    在Linux系统中,`find`命令是一个非常实用的工具,用于在文件系统中搜索指定的文件或目录。它提供了丰富的参数,可以根据文件的名称、类型、大小、时间戳等多种属性进行筛选。下面我们将详细讲解`find`命令的用法。 ...

    ubuntu下的文件查找命令

    本文将详细介绍几个常用的Ubuntu文件查找命令,包括`whereis`、`locate`、`updatedb`以及`find`,并结合示例进行解析。 1. `whereis`命令: `whereis`命令主要用于查找软件的安装路径,它会搜索系统中预定义的一些...

    Linux下find命令整理

    在Linux系统中,`find`命令是一个非常强大的工具,用于在指定路径下查找符合特定条件的文件。这个命令可以帮助我们快速定位系统中的文件,进行管理、备份或删除操作。以下是对`find`命令的一些详细解释和实例说明: ...

    Linux基础课件Linux系统文件查找locate命令共

    总结来说,Linux基础课件"Linux系统文件查找locate命令"将涵盖`locate`命令的原理、使用技巧、选项解析以及与其他查找命令的比较,旨在帮助初学者快速掌握这一实用工具,从而在日常的Linux使用中游刃有余。...

    Linux下查找命令find的详细用法[借鉴].pdf

    Linux下查找命令find的详细用法 在 Linux 系统中,find 命令是一款功能强大且灵活的搜索工具,可以根据各种条件来搜索文件和目录。下面是 find 命令的详细用法和示例。 查找文件 通过文件名查找法:可以使用 `-...

    linux下find命令实例

    ### Linux 下 find 命令实例详解 #### 概述 `find` 是 Linux 和类 Unix 系统中一个非常强大的文件查找工具。通过 `find` 命令,用户可以基于多种条件来搜索文件系统中的文件或目录,如名称、权限、所有者、组、...

    linux下find命令大全

    `find`命令是Linux环境下查找文件的强大工具,尤其对新手来说,它是理解和学习Linux文件系统特性的关键。由于Linux文件系统结构复杂,不像Windows那样有统一的文件名格式,因此熟练掌握`find`命令对于定位文件至关...

    grep find 命令用法.doc

    find 命令的格式为:find [path][options][expression],其中 path 指定目录路径,system 从这里开始沿着目录树向下查找文件。 find 命令的主要参数包括: * -depth:使用深度级别的查找过程方式,在某层指定目录...

    Linux文件操作最常用命令.pdf

    Linux文件操作最常用命令包括了文件创建、查看、删除、复制、移动、重命名、解压压缩以及查找等操作。以下是各个操作对应的常用命令以及其使用方法和注意事项。 0. 新建操作: 新建文件夹可以使用`mkdir`命令,后接...

    Linux下如何通过关键字查找文件下载

    Linux 操作系统中,有多种方法可以用来查找文件,包括使用 grep 命令、find 命令和 locate 命令等。本文将主要介绍如何使用 grep 命令来查找文件。 grep 命令是一个强大的文本搜索工具,可以根据关键字来查找文件。...

    find&grep;学习参考

    `find`和`grep`是Linux系统中的强大命令,通过灵活运用它们,你可以高效地查找和处理文件系统中的文件和内容。理解并熟练掌握这两个命令的使用,对于提升Linux操作的效率至关重要。在实际工作中,它们经常与其他命令...

    UNIX文件查找命令详述

    ### UNIX 文件查找命令详解 #### 一、引言 在UNIX及类UNIX系统(如Linux)中,文件管理和数据检索是日常操作中的重要部分。为了高效地管理文件系统,掌握强大的文件查找工具变得至关重要。本文将详细介绍`find`...

    Linux服务器日志文件查找技巧精粹-电脑资料.doc

    可以使用find命令来查找不知道的日志文件。例如,使用以下命令可以查找最近被修改的文件: find . -type f -mtime -5 –print | grep -v proc | grep -v lock 3. 日志文件分析策略 日志文件分析的第一个挑战是把...

Global site tag (gtag.js) - Google Analytics