
我有两个目录。 DirA包含DirA中的所有文件。 我想从DirA删除DirB中的所有文件。 如何在linux命令行中做到这一点?
我正在使用Ubuntu的。
谢谢
在windows 7中更改文件名并根据文件path移动文件
缺less参数-m在windows PowerShell中使用svn
命令行提示符跨windows *** 作系统的path
出现错误时,启动/等待/ b不退出程序
通过java applciation从内部调用一个命令行工具
带有空格的Apache Cli选项值
使用批处理脚本查找正确的父文件夹
un gzip多个文件?
使用命令提示符意外删除具有长扩展名的文件
命令行输出不redirect到文件。
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
总结以上是内存溢出为你收集整理的从另一个文件夹linux shell中删除一个文件夹中的文件全部内容,希望文章能够帮你解决从另一个文件夹linux shell中删除一个文件夹中的文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)