gpt4 book ai didi

c - grep C 类型定义的正则表达式

转载 作者:行者123 更新时间:2023-12-04 15:28:24 25 4
gpt4 key购买 nike

我有一大堆源文件,我想通过 grep 查找特定用户定义类型 dev_if_type_t 的定义。到目前为止,我所知道的只是我正在检查的代码中的某些函数将其用作返回值。

现在我正在使用以下内容:

typedef.*dev_if_type_t|(define|typedef|enum|struct)\s*dev_if_type_t

但它没有返回任何结果。还有另一种我忽略的 C 类型定义方法吗?

grep 行本身,位于代码库的顶级目录中:

grep -rn "typedef.*dev_if_type_t\|\(define\|typedef\|enum\|struct\)\s*dev_if_type_t" *

最佳答案

该定义可能有更多变体,例如:

typedef struct {
/* some code */
} dev_if_type_t;

某些代码也可能如下所示:

#define \
dev_if_type_t int

struct
dev_if_type_t
{
/* some code */
};

你永远不会知道。
我建议你尝试一下 grep 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" *

关于c - grep C 类型定义的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25118158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com