我有两个目录。 DirA包含DirA中的所有文件。 我想从DirA删除DirB中的所有文件。 如何在Linux命令行中做到这一点?
我正在使用Ubuntu的。
谢谢
缺less参数-m在Windows PowerShell中使用svn
命令行提示符跨Windows操作系统的path
通过java applciation从内部调用一个命令行工具
带有空格的Apache CLI选项值
使用批处理脚本查找正确的父文件夹
un gzip多个文件?
cd DirB for i in * do rm DirA/"$i" done
编辑:在$i周围使用双引号来处理包含空格的文件名。
你可以做我的循环:
for fi DirB/*; do fn="${f##*/}" [[ -f "$fn" ]] && rm -f "DirA/$fn" done
在这里你有一个例子,执行输出,如果文件名将包含空格(顺便说一句,我不建议,不舒服的东西)也可以工作:
root@folgore:/tmp/test# tree . ├── DirA │ ├── a │ ├── b │ ├── c │ └── d └── DirB ├── a ├── b ├── e ├── g ├── h └── r 2 directories,10 files root@folgore:/tmp/test# for f in `ls DirB/* | sed 's/ /_SPC_/g'`;do fa=`echo $f | sed 's/_SPC_/ /g;s/^DirB//DirA//'`;echo "removing $fa if exists";rm -f "$fa";done removing DirA/a if exists removing DirA/b if exists removing DirA/e if exists removing DirA/g if exists removing DirA/h if exists removing DirA/r if exists root@folgore:/tmp/test# tree . ├── DirA │ ├── c │ └── d └── DirB ├── a ├── b ├── e ├── g ├── h └── r 2 directories,8 files
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。