我想删除所有名称为*~ or #*#
的文件
我试过了:
find "dir" -name '#*#' -or -name '*~' -delete
但它只删除末尾为〜的文件,而不是在开头和结尾带#的文件
我该怎么做?
答案 0 :(得分:1)
首先,您需要指定-name
主要模式; ##
将匹配名为##
的文件,而*##
将匹配以##
结尾的任何文件。其次,您需要对name
的两种用法进行分组,以便一次匹配将被视为要删除的匹配项。
find dir \( -name '*##' -or -name '*~' \) -delete
答案 1 :(得分:0)
如何使用-regex
切换查找:
find -E . -regex "^./(~|##)$" -exec rm '{}' \;
-E
用于支持扩展(现代)正则表达式功能。
答案 2 :(得分:0)
我找到了我的解决方案:找到dir -name“〜”-delete -or -name“##”-delete 谢谢大家