使用查找排除文件的同时删除文件

l0b*_*0b0 6 find

此命令不符合 DWIM:

find . \( -name .svn -prune -false \) -o \( -empty -delete \)
find: The -delete action atomatically turns on -depth, but -prune 
      does nothing when -depth is in effect.  If you want to 
      carry on anyway, just explicitly use the -depth option.
Run Code Online (Sandbox Code Playgroud)

添加-depth会禁用 的效果-prune,这意味着.svn目录也会被删除。那么:find可以使用哪种语法(如果有)来修剪然后删除一些未修剪的路径,而无需使用其他工具,例如rm

tux*_*xce 4

您可以使用-path,它不是 POSIX,但许多实现都支持:

find . \! -path "*/.svn/*" -empty -delete
Run Code Online (Sandbox Code Playgroud)

-regex也是一个选择。