qgrep:如何包含不带扩展名的文件?

时间:2018-08-01 08:25:39

标签: linux grep

如何使用qgrep搜索不带扩展名的文件?请注意,这个问题不是关于经典grep的,而是qgrep。

我使用qgrep来递归搜索具有* .cpp,*。java等各种扩展名的项目(类似于grep -r)文件。

但是如何配置它以查找没有扩展名的文件,例如: Jenkinsfile,Dockerfile,任何不使用.sh或.bash扩展名的bash脚本等。

这是我的配置文件(〜/ .qgrep / prj.cfg):

C/C++
include \.(cpp|cxx|cc|c|hpp|hxx|hh|h|inl)$
# Java, C#, VB.NET
include \.(java|cs|vb|jsf)$
# Perl, Python, Ruby
include \.(pl|py|pm|rb)$

1 个答案:

答案 0 :(得分:0)

解决方案是仅枚举qgrep cfg文件(cat〜/ .qgrep / prj.cfg)中没有扩展名的所有文件,如下所示:

include Dockerfile
include Jenkinsfile
...

使用正则表达式匹配所有不带扩展名的文件不是一个好主意,因为它也将匹配所有不带扩展名的二进制文件,并且您也不想搜索所有正则表达式,因为它会降低速度。

如果您的文本文件没有扩展名且没有特定名称,则可以使用正则表达式,但是您需要确保它仅匹配您感兴趣的文本文件,而不匹配任何二进制文件。