我有一大堆源文件,我想通过它来查找特定用户定义类型的定义dev_if_type_t.到目前为止,我所知道的只是我正在检查的代码中的一些函数将它用作返回值.
现在我正在使用以下内容:
typedef.*dev_if_type_t|(define|typedef|enum|struct)\s*dev_if_type_t
Run Code Online (Sandbox Code Playgroud)
但它没有返回任何结果.是否有另一种C类型定义的方法我忽略了?
grep行本身,在代码库的顶级目录中:
grep -rn "typedef.*dev_if_type_t\|\(define\|typedef\|enum\|struct\)\s*dev_if_type_t" *
Run Code Online (Sandbox Code Playgroud)
可能有更多的定义变体,如:
typedef struct {
/* some code */
} dev_if_type_t;
Run Code Online (Sandbox Code Playgroud)
有些代码也可能如下所示:
#define \
dev_if_type_t int
struct
dev_if_type_t
{
/* some code */
};
Run Code Online (Sandbox Code Playgroud)
你永远不会知道.
我建议你尝试只是grepping dev_if_type_t和使用上下文选项-C <num>中grep自行发现的定义.
使用表达式时|请不要忘记使用egrep(不推荐)或使用正确的命令grep -E ....
请注意\|并\(具有不同的含义.使用|并(为您的目的.
所以正确的模式应该是:
grep -Ern "typedef.*dev_if_type_t|(define|typedef|enum|struct)\s*dev_if_type_t" *
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
511 次 |
| 最近记录: |