我如何使用 qgrep在没有扩展名的文件中搜索?请注意,这个问题不是关于经典的 grep,而是关于 qgrep。
我使用 qgrep 递归搜索我的项目文件(类似于 grep -r),具有各种扩展名,如 *.cpp、*.java 等。
但是我如何配置它来查看没有扩展名的文件,例如: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)$
解决方案是在 qgrep cfg 文件 (cat ~/.qgrep/prj.cfg) 中枚举所有没有扩展名的文件,如下所示:
include Dockerfile
include Jenkinsfile
...
使用正则表达式来匹配所有没有扩展名的文件不是一个好主意,因为它也会匹配所有没有扩展名的二进制文件,而且您也不想搜索这些文件,因为它会降低速度。
如果您有没有扩展名且没有特定名称的文本文件,您可以使用正则表达式,但您需要确保它只匹配您感兴趣的那些文本文件,而不是任何二进制文件。
我是一名优秀的程序员,十分优秀!