使用iregex Bash找到h文件

时间:2014-08-28 07:55:40

标签: bash find

我使用这一行来使用bash查找h文件但是当它执行时它也会因为.sh结尾而找到bash文件而且我不确定如何限制查找只能查找文件用.h不是。还有一些人作为最后一个角色。

find . -iregex '.*\(h\)'

2 个答案:

答案 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$'