工作经常需要用find结合其它命令一起使用,下面介绍4种结合方式.

例: 用find查找/data目录下,以.txt文件结尾的文件并复制到/tmp下

方法一

find与|xargs是黄金搭档,-t 参数指定目标目录(效率高,因为 xargs 会让命令作为一行来执行.)

[root@Jonnyan ~]# find /data/ -type f -name"*.txt" | xargs cp -t /tmp

方法二

{} 大括号里的内容为find命令找到的结果(效率低,因为 exec 会让命令分多次执行.)

[root@Jonnyan ~]# find /data/ -type f -name"*.txt" -exec cp {} /tmp \;

方法三

$()=` ` 存放命令的执行结果

[root@Jonnyan ~]# cp $(find /data/ -type f -name"*.txt") /tmp

方法四

-i 参数指定找到的结果放到{}中

[root@Jonnyan ~]# find/data/ -type f -name "*.txt" | xargs -i cp{} /tmp

find 排除多个目录

find /tmp/jonny \( -path /tmp/jonny/dir1 -o -path /tmp/jonny/file1 \) -prune -o -name "*" -print

  • 在 shell 中,"与" 和 "或" 有两种表达方式。
  • 在 shell 中,"与" 的运算符为 "-a",同时,"与" 的逻辑运算符也可以用 "&&" 表示。
  • 在 shell 中,"或" 的运算符为 "-o",同时,"或" 的逻辑运算符也可以用 "||" 表示。
    解释参考:http://www.zsythink.net/archives/1154

find命令结合cp bash mv 命令使用的4种方式的更多相关文章

  1. Linux常用命令之cp、mv、rm、cat、more、head、tail、ln命令讲解

    上一章节中,我们了解到了Linux系统的最基础的几个文件处理命令,核心的是ls命令,在今天这章中,我们来继续学习Linux对于文件操作相关的一些命令,比如复制.移动.删除.查看等命令. 1.cp 命令 ...

  2. linux命令学习笔记( 7 ) : mv 命令

    mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令, 经常用来备份文件或者目录. .命令格式: mv [选项] 源文件或目 ...

  3. ps | grep app 命令不显示grep app本身进程的几种方式

    ps | grep app 命令不显示grep app本身进程的几种方式 使用ps命令查询进程,常常我们不想打印出"ps | grep app"这个当前进程,比如如下: [root ...

  4. Linux命令行下cp,rm,mv命令的使用

    以下的内容来源于<鸟哥的私房菜> Linux命令行下的复制.删除与移动:cp,rm,mv cp(copy)复制        cp这个命令的用途很多,除了单纯的复制之外,还可以创建链接文件 ...

  5. Linux命令下,cp,rm,mv命令的使用

    Linux命令行下的复制.删除与移动:cp,rm,mv cp(copy)复制        cp这个命令的用途很多,除了单纯的复制之外,还可以创建链接文件对比两文件的新旧而予以更新,        以 ...

  6. Linux 常用命令六 cp和mv

    一.cp命令 Linux中的复制命令. 复制文件: wang@wang:~/workpalce/python$ tree . ├── .txt ├── dir └── module directori ...

  7. cp和mv命令

    注意事项:mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加.而cp对文件进行复制,文件个数增加了. 一.cp命令 cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录.它可以将 ...

  8. 每天一个Linux命令(9)mv命令

    mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中. 注意事项:mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加.而cp对文件进行复制,文件个数增加了.     (1) ...

  9. Ubuntu上使用过的命令,Linux常用命令,mount 硬盘挂载, ls 列表list命令,cp 复制copy命令,mkdir 创建文件夹 ,nano 编辑器,cat 文档合并,chmod 文件权限,ssh win10连接ubuntu服务器的步骤

    man 帮助 > man ls # ubuntu的帮助 tar.gz 压缩解压 > tar -zcvf yzn.tar.gz /home/yzn # 压缩 > tar -zxvf y ...

随机推荐

  1. 2014面试总结--java、数据 方向

    这里不讲详细的题目.仅仅是总结一下体会. 好一点的公司考察的都比較全面,主要看你对原理性的理解.还有你的思维逻辑:就眼下来讲,对深度的考察大于广度.而我个人如今这个阶段也比較专注于深度. 列一些常常问 ...

  2. (原创)开发使用Android studio所遇到的一些问题总结

    1.Android studio下载链接地址(无需FQ):包括先行版和正式版(推荐使用正式版bug少) http://www.androiddevtools.cn/ 2.第一次安装避免成功先不要急着打 ...

  3. 理解和使用 Promise.all 和 Promise.race

    一.Pomise.all的使用 Promise.all可以将多个Promise实例包装成一个新的Promise实例.同时,成功和失败的返回值是不同的,成功的时候返回的是一个结果数组,而失败的时候则返回 ...

  4. spoj 694 求一个字符串中不同子串的个数

    SPOJ Problem Set (classical) 694. Distinct Substrings Problem code: DISUBSTR Given a string, we need ...

  5. mongodb安装的两条命令

    1. 安装 下载并安装,注意安装方式为custom,路径自定义(d:\chengxu\mongodb),安装成功后在mongodb文件夹下新建data文件夹(内新建db文件夹)和logs文件夹(内新建 ...

  6. jenkins部署前端node项目实例

    Jenkins 分发文件用到rsync命令   在 /etc/passwd中 修改 jenkins 为 /bin/bash jenkins:x:494:494:Jenkins Automation S ...

  7. Django Error: That port is already in use.

    原文:http://stackoverflow.com/questions/20239232/error-that-port-is-already-in-use A more simple solut ...

  8. IE浏览器右键菜单分享扩展

    (如果本页面没有自动下载,请点这里下载) IE浏览器分享工具安装步骤:1.发起下载请求后,屏幕上会弹出文件保存对话框,将文件保存到您电脑本地的磁盘中 2.双击刚才下载的安装文件,将JiaThis_Sh ...

  9. javascript解析器(引擎)

    The JavaScript interpreter in a browser is implemented as a single thread. javascript 引擎在浏览器中作为单线程实现 ...

  10. Laravel之路(事务)mysql事务

    其实关于mysql的事务(原声mysql语句),我在我的博客里面有提到(mysql的文章分类下) 今天看下基于laravel框架ORM的处理 准备: 表必须是InnoDB引擎 DB::beginTra ...