如何使用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)$
答案 0 :(得分:0)
解决方案是仅枚举qgrep cfg文件(cat〜/ .qgrep / prj.cfg)中没有扩展名的所有文件,如下所示:
include Dockerfile
include Jenkinsfile
...
使用正则表达式匹配所有不带扩展名的文件不是一个好主意,因为它也将匹配所有不带扩展名的二进制文件,并且您也不想搜索所有正则表达式,因为它会降低速度。
如果您的文本文件没有扩展名且没有特定名称,则可以使用正则表达式,但是您需要确保它仅匹配您感兴趣的文本文件,而不匹配任何二进制文件。