自用的ripgrep搜索代码技巧

目录

搜索调用指定名称的C++函数的地方

命令

解释

搜索时排除单个指定文件

搜索时排除多个指定文件

搜索定义指定名称的C/C++函数的地方

搜索定义指定名称的C/C++宏的地方


搜索调用指定名称的C++函数的地方

命令

rg '\bexampleFunction\s*\(' /path/to/search

解释

  • \b:单词边界,确保匹配的是完整的函数名,避免匹配到包含该名称的其他单词。
  • exampleFunction:要匹配的函数名。
  • \s*:匹配零个或多个空白字符(如空格、制表符等),因为函数名和左括号之间可能有空格。
  • \(:匹配左括号,表示函数调用的开始。

搜索时排除单个指定文件

rg 'example' --glob '!exclude_file.txt'

搜索时排除多个指定文件

rg 'example' --glob '!file1.txt' --glob '!file2.txt'

搜索定义指定名称的C/C++函数的地方

rg --multiline --no-ignore --type cpp --type c '\s+function_name\s*\([^)]*\)\s*\{'

搜索定义指定名称的C/C++宏的地方

rg -t c -t cpp '^#define\s+\bYOUR_MACRO\b' 

你可能感兴趣的:(linux)