复制:

find <src-path> -name 'some names'  -exec cp {} <dest-path> \;
find <src-path> -name 'some names' | xargs -i cp {} <dest-path>
find <src-path> -name 'some names' | xargs -I {} cp {} <dest-path>
find <src-path> -name 'some names' | xargs -I [] cp [] <dest-path>
find <src-path> -name 'some names' | xargs cp -t <dest-path> 其中,-i 表示 find 传递给xargs的结果由{}来代替,{}为默认占位符,-i为废弃选项,建议用-I。-I表示以什么为xargs结果的占位符。
例如:

------------------->$ ls
  1.txt 2.txt 3.txt

------------------->$ find . -type f | xargs -I [] mv [] [].bak

1.txt.bak  2.txt.bak  3.txt.bak

只能将文件拷贝到指定目录,拷贝的文件不会保留原来目录结构,如果子目录下有重叠的文件,将会覆盖,解释如下:

查看当前目录.txt文档
------------------->$ find . -name '*.txt'
./b/.txt
./b/.txt
./b/.txt
./d/.txt
./d/.txt
./d/.txt 检查rm目录是否为空目录
------------------->$ ll ../../rm/
total 将查找到的.txt文档拷贝到rm目录
------------------->$ find . -name '*.txt' | xargs cp -t ../../rm/ 查看rm目录
------------------->$ ls
.txt .txt .txt 注意,rm目录下不是以下结构
./b/3.txt
./b/2.txt
./b/1.txt
./d/3.txt
./d/2.txt
./d/1.txt 拷贝查找到文件的过程如下:
cp ./b/3.txt ../../rm/
...
cp ./d/3.txt ../../rm/ # 覆盖上一次拷贝的3.txt
...

删除:

rm `find . -name 'some names'`
find . -name 'some names' -exec rm {} \;
find . -name 'some names' -ok rm {} \;
find . -name 'some names' | xargs -i rm {}
find . -name 'some names' | xargs -I [] rm []
find . -name 'some names' | xargs rm

其中-ok询问是否确定删除每一项。对于最后一条命令,因为xargs默认将输出流放到最后,所以也可以用xargs rm。

同时也可以将cp、rm替换成其他命令,比如mv,ls等等。

find文件后cp、rm的更多相关文章

  1. centos 目录文件管理 mkdir,rm,touch,误删文件extundelete,cp,mv,cat,more,less ,head,tail,chown,chmod ,umask 第四节课

    centos 目录文件管理 mkdir,rm,touch,误删文件extundelete,cp,mv,cat,more,less ,head,tail,chown,chmod ,umask  第四节课 ...

  2. linux误用rm删除文件后恢复

    linux 系统:ubuntu16.04 误把/usr/local local文件删除了,要疯 步骤: 1.对于文件系统为ext3文件系统 sudo apt-get install ext3grep ...

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

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

  4. 复制、移动和删除:cp, rm, mv

    要复制文件,请使用cp(copy)命令.不过,cp命令的用途很多.除了单纯的复制之外,还可以建立连接文件(就是快捷方式),比较两个文件的新旧而予以更新,以及复制整个目录等等.至于移动目录与文件,则使用 ...

  5. linux中的一些基础命令的使用(which,whereis,locate,find,alias,file,ls,cat,echo,tar,bzip2,gzip,history,mv,cp,rm)

    which whereis locate find alias file ls cat echotar bzip2 gzip history mv cp rm -------------------- ...

  6. [转]复制、移动和删除:cp, rm, mv

    转自:http://www.cnblogs.com/benio/archive/2010/07/27/1785929.html 要复制文件,请使用cp(copy)命令.不过,cp命令的用途很多.除了单 ...

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

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

  8. 测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程

    测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程 最近系统出现问题,由于数据库产生的日志量太大无法开启归档模式,导致offline的 ...

  9. linux删除文件后没有释放空间

    转载 http://blog.csdn.net/wyzxg/article/details/4971843 今天发现一台服务器的home空间满了,于是要清空无用的文件,当我删除文件后,发现可用空间没有 ...

随机推荐

  1. Java Day03 面向对象程序设计

    1.面向对象 面向对象是指一种程序设计泛型,同时也是一种程序开发的方法. 2.类 类是一种抽象的概念,类中包含了数据与对数据的操纵. 具有相同特性(数据元素)和行为(功能)的对象的抽象就是类.类是对象 ...

  2. Node.js API

    Node.js v4.4.7 Documentation(官方文档) Buffer Prior to the introduction of TypedArray in ECMAScript 2015 ...

  3. github import repository创建github仓库

    现在,假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆. 首先,登陆GitHub,创建一个新的仓库,名字叫blog: 1.先创建一个项目仓库 2. 我们勾选Initialize th ...

  4. winform上传文件

    //上传图片 文件 public int addUpPic( String strProCode,String strFileName,String strUpType) { //strFileNam ...

  5. Hibernate5-课程笔记3

    详解Hibernate的API: (1)Configuration接口: org.hibernate.cfg.Configuration接口的作用是加载主配置文件及映射文件,以实现对Hibernate ...

  6. HTML5 中的新特性:

    一,用于绘画的 canvas 元素,<canvas>标签替代Flash Flash给很多Web开发者带来了麻烦,要在网页上播放Flash需要一堆代码和插件.<canvas>标签 ...

  7. javascript基础(五)函数

    原文http://pij.robinqu.me/ 通过call和apply间接调用函数(改变this) call 和 apply带有多个参数,call和apply把当前函数的this指向第一个参数给定 ...

  8. HDU 1907 John(取火柴博弈2)

    传送门 #include<iostream> #include<cstdio> #include<cstring> using namespace std; int ...

  9. JVM基础(5)-垃圾回收机制

    一.对象引用的类型 Java 中的垃圾回收一般是在 Java 堆中进行,因为堆中几乎存放了 Java 中所有的对象实例.谈到 Java 堆中的垃圾回收,自然要谈到引用.在 JDK1.2 之前,Java ...

  10. 核心梳理——消息处理的骨架流程——ESFramework 4.0 进阶(02)

    在ESFramework 4.0 概述一文中,我们提到ESFramework.dll作为通信框架的核心,定义了消息处理的骨架流程,本文我们来详细剖析这个流程以及该骨架中所涉及的各个组件.ESFrame ...