当前位置:  技术问答>linux和unix

find后exec与ok区别

    来源: 互联网  发布时间:2017-04-26

    本文导语:  本帖最后由 magi1201 于 2013-09-23 12:17:01 编辑 1  查找/var/logs目录中更改时间在7日以前的普通文件,并在删除之前询问它们 $ find /var/logs -type f -mtime +7 -ok rm { } ; 2  查找目录及子目录下最大的5个文件 $ find . -t...

本帖最后由 magi1201 于 2013-09-23 12:17:01 编辑
1  查找/var/logs目录中更改时间在7日以前的普通文件,并在删除之前询问它们
$ find /var/logs -type f -mtime +7 -ok rm { } ;

2  查找目录及子目录下最大的5个文件
$ find . -type f -exec ls -s {} ; | sort -n -r | head -5

对find查询出的结果集进行操作时,什么时候参数跟exec, 什么时候跟ok,两者有什么区别呢,请大牛们解答,灰常感谢 

|

 -ok command ;
              Like -exec but ask the user first.  If the user agrees, run the command.  Otherwise
              just return false.  If the command is run, its standard input  is  redirected  from
              /dev/null.

              The  response  to  the  prompt  is matched against a pair of regular expressions to
              determine if it is an affirmative or negative response.  This regular expression is
              obtained  from  the system if the `POSIXLY_CORRECT' environment variable is set, or
              otherwise from find's message translations.  If the system has no suitable  defini‐
              tion,  find's  own definition will be used.   In either case, the interpretation of
              the regular expression  itself  will  be  affected  by  the  environment  variables
              'LC_CTYPE'  (character  classes) and 'LC_COLLATE' (character ranges and equivalence
              classes).


从man给出的信息来看,最明显的区别就是-ok是交互式的,在执行后面的命令之前,需要用户确认;-exec不需要确认直接执行。

|
直接使用 find ... | xarg ...也行。

|
一个交互式,一个非交互式,
shell脚本可以用到-exec

|
ok执行前会先询问用户,如果用户同意,才执行命令。
exec不会询问用户,直接执行
另外返回值也不同

|

交互式就是一问一答的方式,比方fdisk这样的,如果写在脚本中,放在半夜运行,是不合适的,你总不见得半夜爬起来吧
非交互式,就一次性执行完,途中没有任何要询问你的地方

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Maps 成员 find():查找一个元素
  • 用find查找,提示find: . changed during execution of find
  • C++ MultiMaps 成员 find():查找元素
  • 高手指点 hp unix的find命令和solaris的find命令 区别
  • C++ Strings(字符串) 成员 find():在字符串中查找字符
  • find在C中的使用以及find本身实现的源代码
  • java命名空间java.awt.event类keyevent的类成员方法: vk_find定义及介绍
  • find . -perm -007 -print find . -perm 777 -print 这两句是等同的,-007表示什么意思??
  • java命名空间java.util.regex类matcher的类成员方法: find定义及介绍
  • 求一条find命令!!!
  • C++ Strings(字符串) 成员 find_first_of():查找第一个与value中的某值相等的字符
  • find 和 grep 正则表达式的问题
  • C++ Strings(字符串) 成员 find_last_of():查找最后一个与value中的某值相等的字符
  • Linux shell 执行这句 find 命令总是报错, 如何修改呢?
  • C++ Strings(字符串) 成员 find_first_not_of():查找第一个与value中的所有值都不相等的字符
  • 一个find的grep的问题
  • C++ Strings(字符串) 成员 find_last_not_of():查找最后一个与value中的所有值都不相等的字符
  • unix 下find和grep
  • 根据文件大小查找文件的find命令举例(Linux,centos,redhat)
  • 如何使用find中的-mount选项
  • linux下find查找文件命令详细介绍及find文件用法举例说明
  • 请问关于find用法的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,