find文件后cp、rm
复制:
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的更多相关文章
- 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 第四节课 ...
- linux误用rm删除文件后恢复
linux 系统:ubuntu16.04 误把/usr/local local文件删除了,要疯 步骤: 1.对于文件系统为ext3文件系统 sudo apt-get install ext3grep ...
- Linux命令行下cp,rm,mv命令的使用
以下的内容来源于<鸟哥的私房菜> Linux命令行下的复制.删除与移动:cp,rm,mv cp(copy)复制 cp这个命令的用途很多,除了单纯的复制之外,还可以创建链接文件 ...
- 复制、移动和删除:cp, rm, mv
要复制文件,请使用cp(copy)命令.不过,cp命令的用途很多.除了单纯的复制之外,还可以建立连接文件(就是快捷方式),比较两个文件的新旧而予以更新,以及复制整个目录等等.至于移动目录与文件,则使用 ...
- 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 -------------------- ...
- [转]复制、移动和删除:cp, rm, mv
转自:http://www.cnblogs.com/benio/archive/2010/07/27/1785929.html 要复制文件,请使用cp(copy)命令.不过,cp命令的用途很多.除了单 ...
- Linux命令下,cp,rm,mv命令的使用
Linux命令行下的复制.删除与移动:cp,rm,mv cp(copy)复制 cp这个命令的用途很多,除了单纯的复制之外,还可以创建链接文件对比两文件的新旧而予以更新, 以 ...
- 测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程
测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程 最近系统出现问题,由于数据库产生的日志量太大无法开启归档模式,导致offline的 ...
- linux删除文件后没有释放空间
转载 http://blog.csdn.net/wyzxg/article/details/4971843 今天发现一台服务器的home空间满了,于是要清空无用的文件,当我删除文件后,发现可用空间没有 ...
随机推荐
- Quartz(任务调度)- Cron
参照:http://www.cnblogs.com/linjiqin/archive/2013/07/08/3178452.html 工具:在线生成Cron 语法规则: Seconds Minutes ...
- wpf 控件截屏
/// <summary> /// 保存截图 /// </summary> /// <param name="ui">控件名称</para ...
- Hibernate 异常 集锦
异常1.Error parsing JNDI name [foo] 异常信息摘要: org.hibernate.engine.jndi.JndiException: Error parsing JND ...
- fork()子进程与waitpid()
#!/usr/bin/perl use warnings; use strict; use POSIX ":sys_wait_h"; $SIG{CHLD} = sub{ my $p ...
- mysql count max min 语句用法
count 用法 求总条数 $sql="select count(*) as total from e_user"; $query = mysql_query($sql, $lin ...
- Python朝花夕拾
Q1:HTTP Error 403: Forbidden python中经常使用urllib2.urlopen函数提取网页源码,但是有些时候这个函数返回的却是:HTTP Error 403: Forb ...
- 在UE4中使用SVN作为source control工具
==========预先处理 1.到这个目录下 2.鼠标在空白处 按住shift键 同时右键 会多出一个 可以打开的cmd 3.输入命令,修改红线部分. me: 登陆svn地址的用户名, URL网址: ...
- C#委托与事件讲解(一)
首先,我们还是先说说委托吧,从字面上理解,只要是中国人应该都知道这个意思,除非委托2个中文字不认识,举个例子,小明委托小张去买车票. 但是在我们的程序世界里,也是这么的简单吗?当然,什么是OO ...
- Arrar.prototype.map()的用法
---恢复内容开始--- map() 方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组. array.map(callback[, thisArg]) 注:[]在语法中[]内的内 ...
- 2、创建File类对象
既然是内置类,那么我们创建对象时自然要看它封装好的构造函数咯,由下图的4中构造函数我们可知有4种办法来创建File对象 具体代码如下 public class Demo { public static ...