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空间满了,于是要清空无用的文件,当我删除文件后,发现可用空间没有 ...
随机推荐
- 如何取消input记忆功能
默认情况下,input会有这个记忆功能,如果不想让它记忆,可以在input上加上autocomplete="off"即可.
- MyEclipse中用Maven创建Web项目
方法/步骤 new --> other 1.Wizards: mvaen 2.Maven Project 3.Next Use Default Workspace Locatio ...
- Url有值怎么使用get传值
原来url有数据 test 我们可以$_GET可以获取出来 一般form表单头用get方式都可以满足大多需求 但有一种情况 url里已经有值的时候 用url就会覆盖原来的值 而数据就会丢失 : 数据又 ...
- C# lesson1
一.C#和.net平台 .net是一个软件,一个平台(一般在windows自带 或者在vs里面已经有了) C#是一门运行在.net平台上的语言,需要编译:C#经过.net framework里面的编译 ...
- bootstrap如何自定义5等分
根据bootstrap源码改的1比5的栅格系统 /*5等分媒体查询样式begin*/ .col-xs-1-5,.col-sm-1-5,.col-md-1-5,.col-lg-1-5,.col-xs-4 ...
- Tsung测试统计报告说明
Tsung测试统计报告说明 ********************** report.html *********************** 1.主要统计信息 Tsung统计数据是平均每十秒重 ...
- Revenge of GCD HDU5019
Description In mathematics, the greatest common divisor (gcd), also known as the greatest common fac ...
- intellij idea 12 搭建maven web项目
原来公司一直使用eclipse,突然使用这个intellij还真有点不习惯,等用了一段时间才发现的确好用,因为也是刚开始用,所以很多不理解的地方,搭建一个项目从头好好了解下intellij 最开始的m ...
- # 欢迎使用Markdown编辑器写博客
似的发射点 甜甜 他inn他 absct{ for i 士大夫似的 胜多负少 import os import sys import subprocess import textwrap if sys ...
- 修改VirtualBox虚拟机默认存储路径及虚拟机迁移方法
修改默认安装路径 在安装完虚拟机以后发现我的虚拟的磁盘文件是放在C盘的,就想着有没有办法修改默认存储路径.后来发现确实可以修改,修改虚拟机方法如下:"管理"--->" ...