两个目录中,删除其中一个目录中同名文件的做法
2018-01-11 15:31
357 查看
假设现在有一个目录/mnt/data,还有另外一个目录/opt/data,需要删除/opt/data目录中和/mnt/data目录中的同名文件。
巧妙做法:利用xargs
巧妙做法:利用xargs
实例如下: [root@centos6-vm01 ~]# ll /mnt/data/ total 0 -rw-r--r--. 1 root root 0 Jan 10 23:24 anhui -rw-r--r--. 1 root root 0 Jan 10 23:24 bobo -rw-r--r--. 1 root root 0 Jan 10 23:17 huihui [root@centos6-vm01 ~]# ll /opt/data/ total 0 -rw-r--r--. 1 root root 0 Jan 10 23:25 beijing -rw-r--r--. 1 root root 0 Jan 10 23:25 bobo -rw-r--r--. 1 root root 0 Jan 10 23:25 huihui -rw-r--r--. 1 root root 0 Jan 10 23:25 shanghai 正确做法: 注意,下面命令中的/mnt/data后面不能加/,而/opt/data/后面需要加/ [root@centos6-vm01 ~]# cd /mnt/data && ls -p | grep -v /$ | xargs -I{} rm -f /opt/data/{} [root@centos6-vm01 data]# 或者: [root@centos6-vm01 ~]# cd /mnt/data && ls -p | grep -v /$ | xargs -t -I{} rm -f /opt/data/{} rm -f /opt/data/anhui rm -f /opt/data/bobo rm -f /opt/data/huihui [root@centos6-vm01 data]# 解释: ls -p 参数将给列出的目录名最后加上/ grep -v 参数指定反选择, /$指定以/结尾的搜索模式,因此该命令将输出不带/结尾的项,也就是只输出/opt/test_a目录中的文件名,不包含子目录。 xargs命令的-I{} 指定用管道传递过来的输入替换后面命令中的{}字符串,重复多次,直至管道没有输入 注:xargs加上 -t 参数,可以看到替换的效果 检查一下,发现上面命令执行后,/opt/data目录下的同名文件已经删除了 [root@centos6-vm01 data]# ll /mnt/data/ total 0 -rw-r--r--. 1 root root 0 Jan 10 23:24 anhui -rw-r--r--. 1 root root 0 Jan 10 23:24 bobo -rw-r--r--. 1 root root 0 Jan 10 23:17 huihui [root@centos6-vm01 data]# ll /opt/data/ total 0 -rw-r--r--. 1 root root 0 Jan 10 23:25 beijing -rw-r--r--. 1 root root 0 Jan 10 23:25 shanghai
相关文章推荐
- linux中巧用xargs删除另外一个目录中的同名文件
- 删除文件,若文件所在目录下只有一个文件则递归删除文件所在目录,直到删除的所在目录下有两个文件或者文件夹
- linux命令---删除一个目录下的所有文件,但保留一个指定文件
- 查找程序所在上一级目录中是否存在指定文件夹,不存在就建立,并在其中新建一个txt文件
- 删除一个目录下的所有文件但保留一个指定文件
- 两个文件定义了同名的变量,会是同一个变量吗?
- java、android 对比两个目录或文件是否是同一个目录或文件的方法
- C# 删除某一个目录中所有的txt文件
- Ubuntu删除两个文件夹下同名同内容的文件V1.2
- 删除一个目录下的所有文件和文件夹
- [转]计算机存在两个管理员,删除其中一个,administration隐藏显示
- 初识node 创建或者删除一个文件目录
- 删除一个目录下的文件
- RAC数据库当归档文件两个节点都能访问时,就能在一个节点上进行备份及删除
- 如何有效合并两个文件:一个是1亿条的用户基本信息,另一个是用户每天看电影连续剧等的记录,5000万条。其中内存只有1G。
- pdf文件如何删除其中的一个页面
- Android手动打包:jar某目录下存在两个同名(不区分大小写)class文件,解压后如何再打包回dex
- 将一个非空目录的文件夹删除【Java文件编程】
- 在同一个目录中同名文件的建立
- 比较两个目录中有没有同名的文件,有就输出目录及名字