首页 文章 类别 VISION 关于


清除、移动目录下指定类型的文件

###清除目录下所有的.svn文件

find . -type d -name ".svn"|xargs rm -fr

该命令中,-type用于指定查找的文件类型,d为目录类型(如果为f则为标准文件),-name指定查找的文件名称为.svn
xargs命令将find查找到的列表按照每一行分成一段,对每一段执行rm -fr命令。

对于xargs命令的使用,可以举个例子,创建文件touchlist.txt,文件内容如下:

file1
file2
file3
file4

执行命令cat touchlist.txt|xargs touch,可以看到,当前目录下自动创建了如下文件:

localhost:test mylxsw$ ll
total 8
-rw-r--r--  1 mylxsw  staff   0  9 12 11:56 file1
-rw-r--r--  1 mylxsw  staff   0  9 12 11:56 file2
-rw-r--r--  1 mylxsw  staff   0  9 12 11:56 file3
-rw-r--r--  1 mylxsw  staff   0  9 12 11:56 file4
-rw-r--r--  1 mylxsw  staff  24  9 12 11:55 touchlist.txt

要清理目录下所有指定的文件,可以使用命令find . -type f -name "*.xml" -print0|xargs -0 rm -fr,该命令解决了文件名中包含空格而出现的xargs: unterminated quote错误。

###移动指定目录下指定类型的文件

# find . -name "*.mkv"|xargs -I {} mv {} /dest/