Linux Bash:查找中的编号文件

Linux Bash:查找中的编号文件,linux,bash,find,Linux,Bash,Find,我正在编写一个bash脚本,用于查找和删除blender在编辑和保存.blend文件时创建的.blend1和.blend2文件。它包含成对的行,如下所示: find Documents -name "*.blend1" -exec rm -rf {} \; find Documents -name "*.blend2" -exec rm -rf {} \; 这工作得很好,不过我很好奇是否有可能以某种方式将这两个find命令组合起来,这样就可以只使用一个命令来查找和删除.blend1和.blen

我正在编写一个bash脚本,用于查找和删除blender在编辑和保存.blend文件时创建的.blend1和.blend2文件。它包含成对的行,如下所示:

find Documents -name "*.blend1" -exec rm -rf {} \;
find Documents -name "*.blend2" -exec rm -rf {} \;
这工作得很好,不过我很好奇是否有可能以某种方式将这两个find命令组合起来,这样就可以只使用一个命令来查找和删除.blend1和.blend2文件


不是特别重要,我只是希望我的脚本更紧凑一些。

是的,您可以使用正则表达式将多个模式匹配到一个模式中:

find Documents -regextype posix-egrep -regex '.*\.(blend1|blend2)$' -exec rm -rf {} \;
或使用较新的
查找
版本:

find Documents -regextype posix-egrep -regex '.*\.(blend1|blend2)$' -delete
没有regex,您可以执行以下操作:

find Documents \( -name "*.blend1" -o -name "*.blend2" \) -delete

是的,您可以使用正则表达式将多个模式匹配为一个:

find Documents -regextype posix-egrep -regex '.*\.(blend1|blend2)$' -exec rm -rf {} \;
或使用较新的
查找
版本:

find Documents -regextype posix-egrep -regex '.*\.(blend1|blend2)$' -delete
没有regex,您可以执行以下操作:

find Documents \( -name "*.blend1" -o -name "*.blend2" \) -delete
-delete
是GNU查找扩展。)

其他途径:

find Documents '(' -name '*.blend1' -o -name '*.blend2' ')' -delete
find Documents -name '*.blend*' -delete
-delete
是GNU查找扩展。)

其他途径:

find Documents '(' -name '*.blend1' -o -name '*.blend2' ')' -delete
find Documents -name '*.blend*' -delete
还有另一种方法

find Documents -name '*.blend[12]' -exec rm -rf {} \;
还有另一种方法

find Documents -name '*.blend[12]' -exec rm -rf {} \;

所有答案都很好,不过我选择这个答案是因为它最简单。警告:您列出的两个备用命令中的第二个不是一个好主意,因为它还将删除未编号的.blend文件,这将有效地删除我的blender项目。所有答案都很好,尽管我选择这一个是因为它最简单。不过要提醒一句:您列出的两个备用命令中的第二个不是一个好主意,因为它还将删除未编号的.blend文件,这将有效地删除我的blender项目