`
flex_莫冲
  • 浏览: 1095686 次
  • 性别: 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 命令是一个强大的文本搜索工具,可以根据关键字来查找文件。...

    UNIX文件查找命令详述

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

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

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

    Linux Find命令详解---教你认识强大的Linux Find命令

    Linux Find命令是Linux系统中一个极其重要的工具,它允许用户在文件系统中查找符合特定条件的文件和目录。这个命令的灵活性和强大性使得它成为系统管理员和开发者的必备技能。下面将详细介绍Linux Find命令的一些...

Global site tag (gtag.js) - Google Analytics