我使用这一行来使用bash查找h文件但是当它执行时它也会因为.sh结尾而找到bash文件而且我不确定如何限制查找只能查找文件用.h不是。还有一些人作为最后一个角色。
find . -iregex '.*\(h\)'
答案 0 :(得分:3)
更简单的
呢?find -iname '*.h'
这样做更好,因为它只查找以.h
结尾的文件,并且可能比使用完整的正则表达式更快。</ p>
对于正则表达式,正确的方法是
find -iregex '\.h$'
\.
逃脱了&#39;。&#39;这样它就匹配了一个&#39;。 $
告诉它它应该是比赛的最后一部分。
由于评论中的问题而添加:
通常
find \( -iname '*.h' -or -iname '*.c' \)
对我来说很好。 \( \)
是从shell中转义括号。
答案 1 :(得分:1)
您可以将锚点$
使用增强型正则表达式仅匹配.h
:
find . -iregex '.*\.h$'