当前位置: > Linux命令 >

mv删除时排除某些文件

时间:2014-11-29 05:20来源:linux.it.net.cn 作者:IT

mv命令删除时排除某些文件。

在linux操作系统下,当前目录下的全部文件移到某个子目录下,先建好目录:
mkdir myfolder
然后,用mv命令把全部文件移进去,稍等,这里可不想把myfolder移到myfolder里面(事实上也不会,linux会提示一个错误 mv: 无法将目录"myfolder" 移动至自身的子目录"./myfolder/myfolder" 下)。

mv还好办,但换成是rm命令呢?
要删除该目录下的除myfolder之外的其他文件和目录,如何实现呢?

这里分享二个方法,供大家参考。

方法1,使用find命令:
 

代码示例:
find -maxdepth 1 -not -name myfolder -not -name . -exec rm -rf {} \;

也可以写成这样:
 

代码示例:
find -maxdepth 1 \! -name myfolder \! -name . -exec rm -rf {} \;

说明:\! 等同于 -not

方法2,也是使用find命令,不过用到了正则表达式。
 

代码示例:
find -not -regex '\./myfolder.*' -not -regex '\.' -exec rm -rf {} \;

需要大家略懂一点正则表达式。

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容