0%

shell删除指定文件或目录

Shell常用:删除当前目录下某类型的文件或目录

删除当前目录下的某类型文件
1
find . -type f -name "*.DS_Store"|xargs rm -rf
删除当前目录下的某类型目录
1
find . -type d -name ".svn"|xargs rm -rf 
删除带有空格的目录

知识点:
xargs 的 -0 参数与 find 命令
find命令有一个特别的参数-print0,指定输出的文件列表以null分隔。然后,xargs命令的-0参数表示用null当作分隔符。

1
$ find /path -type f -print0 | xargs -0 rm

再配合xargs的-L参数那就更稳妥了

如果标准输入包含多行,-L参数指定多少行作为一个命令行参数。

1
$ find /path -type f -print0 | xargs -L1 -0 rm