我想找到所有以.md
或为后缀的文件.org
find ~ -iregex ".*\.md$"
find ~ -iregex ".*\.org$"
如何才能将它们结合起来?
答案1
就像这样连接你的搜索回答:
find ~ -name "*.md" -o -name "*.org"
解释 :
-name
会进行搜索递归地(如果不想产生子目录结果,请将其删除)-o
期权代表或者运算符(即使没有.md
文件也会执行两个命令)~
是您想要开始执行的路径find
;这里,您从哪里开始~
(您的用户名在/home/user
哪里user
)
PS:如果您要使用()
,则需要使用转义字符,\
如下所示:
find ~ \( -name "*.md" -o -name "*.org" \)
这两个命令都有效,但是在这种情况下第一个就足够了。
PPS:如果您想查找带有大写扩展名的文件,请使用选项-iname
而不是-name
选项,如下所示:
find ~ -iname "*.md" -o -iname "*.org"
您将能够找到名为自述文件例如,未显示-name
选项
答案2
find ~ -regextype egrep -iregex ".*\.(md|org)"
查看选项的文档regextype
以了解支持的正则表达式类型。egrep
,posix-extended
也许其他人也理解括号中的组/替代项。