码迷,mamicode.com
首页 > 其他好文 > 详细

10.find

时间:2015-04-11 17:44:14      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

◊基本框架:

a)         Find命令一般格式

b)         Find 常用表达式:条件表达式和操作表达式

c)         find逻辑表达式:与或非

 

10.1    find命令一般格式

           Find  pathname  –expressions

           特点:   1) find 对文件名进行查找,而grep是对文件内容进行查找

                      2)Find对树形目录层次结构递归搜索

                      3)当在shell环境下只输入find的话,默认的路径是当前路径,默认的操作表达式是-print

10.2    Find 常用表达式

主要包括两种:条件表达式和操作表达式

1)条件表达式:

  -name pattern(最常用)

          当文件名与pattern相同时,返回true,否则false

  -type  t :搜索指定类型的文件

          文件类型可以是f(普通文件)、d(目录)、l(符号链接文件)

  -user usr

          检查当前的文件的拥有者或UID是否是usr

  -mtime

          -mtime -4  最近4天内修改的文件

          -mtime +4  4天前修改的文件

  -size

          -size  +5k    大于5k的

          -size  -5k     小于5k的

2)操作表达式:

    -exec  cmd  {}  \;

    -print   打印文件名

       例子:搜索当前目录下的所有文件名以txt结尾的文件,然后将其删除,并将其打印出来。

           Find .  –name  ‘*.txt’  –type  f  -exec  rm  –f  {}  \;  -print

      说明:

          {}  表示搜索到的文件列表

           \;  分号用来表示一个命令的结束,又因为;对shell来说是特殊的字符,所以要在;号前加上转义字符\

10.3    find逻辑表达式

        前面的条件表达式和操作表达式可以通过逻辑运算连接在一起。

    e1  –a  e2    逻辑与运算,仅当e1为真时,对e2求值

    e1  e2        同上

    e1  –o  e2    逻辑或运算,仅当e1为假时,对e2求值

    e1  ,  e2      逗号表达式,对两个表达式均求值,先e1,后e2

    ! e1           逻辑非运算

10.4    Find示例

       1)将文件名以A/a打头或者以A/a结尾的文件给打印出来

             Find  .  –type  f  \(  -name ‘[Aa]*’  -o  –name  ‘*[Aa]’  \)  -print

  2)统计etc目录下所有文件内容包含telnet的文件的个数,其中telnet 不区分大小写。

      Find  /etc   -type  f  -exec  grep  –li  ‘telnet’  {}  \;  | wc  -l

      解释:

        l的作用:使grep只输出查找到的文件名。

        一个文件名就代表一个文件,有多少个文件名就代表有多少个文件。

10.find

标签:

原文地址:http://www.cnblogs.com/zkw-2014/p/4417906.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!