如何使用Linux中的查找指定名为“abc”或“def”的删除子目录

如果我想从当前目录中删除名为“Win32”的所有子目录(和子目录等),我会做

find . -type d -name Win32 -exec rm -rf {} \; 

但是,如果我想删除名为“Win32”或“x64”的子目录呢? 我试过在“-name”之后使用正则expression式,例如

 find . -type d -name "\(Win32\|x64\)" -exec rm -rf {} \; 

但它没有工作。

像这样做:

 find . -type d \( -name Win32 -o -name x64 \) -exec rm -rf {} \; 

使用-o逻辑组合器: find . -type d -name Win32 -o -name x64 find . -type d -name Win32 -o -name x64

要使用正则表达式,您可以使用-regex选项。

只是想提醒你要小心,如果你喜欢正则表达式的方式:

 find . -type d -regex '^.*\/\(Win32\|x64\)$' 

而我更喜欢用其他用户提到的-o 。 ;)