如何在C++项目中搜索所有std::开头的标识符并仅显示唯一结果?
提取项目中唯一的C++标准库用法
以下几种方法可以帮你快速得到项目中所有不重复的std::开头的标准库标识符:
grep + sort + uniq 组合(最通用)
用-o参数只输出匹配的std::xxx部分,避免整行重复,再排序去重:grep -Ro "std::[a-zA-Z0-9_]*" . | sort | uniq要是需要排除构建目录、版本目录这类无关内容,加上
--exclude-dir:grep -Ro --exclude-dir={build,.git,third-party} "std::[a-zA-Z0-9_]*" . | sort | uniqawk 直接去重(无需提前排序)
利用awk的数组记录已出现的条目,只打印首次出现的内容:grep -Ro "std::[a-zA-Z0-9_]*" . | awk '!seen[$0]++'ripgrep(rg)高效方案(适合大型项目)
如果你装了ripgrep(比grep更快的递归搜索工具),可以用:rg -o "std::[a-zA-Z0-9_]*" . | sort -u
这些命令都会输出类似std::vector、std::array、std::string这样的唯一条目,方便你快速梳理项目用到的标准库组件。
内容的提问来源于stack exchange,提问作者Autechre
相关产品推荐
相关产品推荐

