设为首页收藏本站

LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

用新浪微博连接

一步搞定

QQ登录

只需一步,快速开始

查看: 758|回复: 4

<ZT>linux find命令-exec参数的使用说明(笔记) [复制链接]

Rank: 6Rank: 6

签到
0
注册时间
2009-1-18
最后登录
2011-4-29
在线时间
306 小时
阅读权限
70
积分
1399
帖子
505
主题
42
精华
4
UID
1049

LT同学

发表于 2010-9-7 12:30:43 |显示全部楼层
前言:最近几天使用find的高级功能,但执行到 -exec命令的时候总是提示错误
信息如下:“find: missing argument to `-ok' ”,花了点时间,研究了下帮助(man),终于是搞清楚了。
说明:find命令,配合-exec参数,可以对查询的文件进行进一步的操作,可以得到很多有用的功能,比如说文件包含特定字符串的查询等,要了解这个功能,最简单直接的就是看find命令帮助,列出
        -exec command ;
               Execute command; true if 0 status is returned.   All   following   arguments   to find are taken to be arguments to the command until an   argument   consisting of #;' is encountered.   The string {}' is replaced by the current file name being processed everywhere it occurs in the arguments to the command, not just in arguments where it is alone, as in some versions of find.   Both of these constructions might need to be escaped (with a \') or quoted to   protect   them   from   expansion   by the shell.   The command is executed in the starting directory.
其实只要读懂这段话就理解了
废话少说,这里简单说明一下
-exec 参数后面跟的是 command命令,注意点如下:
command命令的终止,使用 ';' (分号)来判定,在后面必须有一个 ';'
'{}',使用{}来表示文件名,也就是find前面处理过程中过滤出来的文件,用于command命令进行处理
特别强调,对于不同的系统,直接使用分号可能会有不同的意义, 使用转义符 '\'在分号前明确说明,对于前面我们遇到的问题,主要就是这个原因引起的!
举例:
1.查询所有保护字符串“Hello”的文件
find / -exec grep "Hello" {} \;
2.删除所有临时文件
find / -name "*.tmp" -exec rm -f {} \;
3 删除20天以前的文件
find / -name "*" -ctime +20 -exec rm -f {} \; (不要执行哦,要看清楚哈)
注:+20 表示20天以前


#########
转自(但不确定该仁兄是原创还是转帖)http://hi.baidu.com/mfksn/blog/item/456063cb242f8717bf09e678.html

Rank: 3Rank: 3

注册时间
2010-8-31
最后登录
2011-3-15
在线时间
16 小时
阅读权限
30
积分
287
帖子
75
主题
0
精华
0
UID
10256
发表于 2010-9-8 18:18:53 |显示全部楼层
……这个……其实这类完全抄 manual 的东西,没多少独特价值啊……

使用道具 举报

LT管理团队

论坛广告杀手

Rank: 9Rank: 9Rank: 9

注册时间
2008-11-27
最后登录
2011-12-30
在线时间
156 小时
阅读权限
200
积分
2542
帖子
384
主题
59
精华
4
UID
628
发表于 2010-9-9 09:59:12 |显示全部楼层
更喜欢后面接个xargs

分享,快乐,欢迎来到llinux运维专家网!

使用道具 举报

Rank: 8Rank: 8

注册时间
2010-8-19
最后登录
2012-2-3
在线时间
379 小时
阅读权限
90
积分
5194
帖子
184
主题
9
精华
0
UID
10152
发表于 2010-9-9 11:15:43 |显示全部楼层
好像在哪里看个

使用道具 举报

Rank: 8Rank: 8

注册时间
2008-6-13
最后登录
2012-1-20
在线时间
201 小时
阅读权限
90
积分
3096
帖子
891
主题
147
精华
0
UID
74

LT粉丝

发表于 2010-9-9 15:17:26 |显示全部楼层
回复 3# dennis


    同感!

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢红之盟网络提供带宽支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2012-2-4 19:23 , Processed in 0.069342 second(s), 12 queries , Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部