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)
mv命令删除时排除某些文件。
在linux操作系统下,当前目录下的全部文件移到某个子目录下,先建好目录:
mv还好办,但换成是rm命令呢? 这里分享二个方法,供大家参考。
方法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) |