首页 > 代码库 > find 命令练习

find 命令练习

   查找某个目录下所有的sql文件时,使用以下命令

   find /opt/  -name  *.sql  

   结果是报错,这个命令是查找 *.sh的那个文件,而不是sh结尾的全部文件。

  如果查找的文件名中有通配符,需要加引号

   find  /opt/ -name  ‘*.sql‘

技术分享

  

 

  [查找完执行的action] 

         # -print                               //默认情况下的动作

         # -ls                                    //查找到后用ls 显示出来

         # -ok  [commend]                //查找后执行命令的时候询问用户是否要执行

        # -exec [commend]              //查找后执行命令的时候不询问用户,直接执行

   

  例:1、 将找到的sql文件全部删除:

     find  /opt/   -name  ‘*.sql‘  -exec  rm -rf {} \;

    {}的作用:替代查找到的文件

   或者命令:

     find  /opt/  -name  ‘*.sql‘ | xargs rm -rf

  2、 将找到的sql文件复制到root目录下:

     find  /opt/   -name  ‘*.sql‘  -exec  cp {}  /root/  \;

   或者:

   find  /opt/   -name  ‘*.sql‘ | xargs -i cp  {}  /root/

   xargs -i   加-i 参数直接用 {}就能代替管道之前的标准输出的内容;

   

 常用的正则表达式:

技术分享

常用运算符与表达式:

   ^ 开始
  () 域段
  [] 包含,默认是一个字符长度
  [^] 不包含,默认是一个字符长度
  {n,m} 匹配长度 
  . 任何单个字符(\. 字符点)
  | 或
  \ 转义
  $ 结尾
  [A-Z] 26个大写字母
  [a-z] 26个小写字母
  [0-9] 0至9数字

     .+   匹配任何字符

 

find 命令练习