gpt4 book ai didi

linux - 如何在多个文件中搜索重复的未知字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:19:08 25 4
gpt4 key购买 nike

我正在合并几个不同的 linux 内核分支,但我已经发现在从几个 Kconfig 文件的 git diff 添加更改后,我的基本源代码已经在另一个目录的 Kconfig 文件中包含了其中一些配置。

因此,我正在寻找与此类似的结果/输出:

find . -name .git -prune -o -type f ( -name 'Kconfig*' ) -print0 | xargs -0 grep --color -n "$@"

...除了,我需要在不知道字符串的情况下在不同的 Kconfig 文件中查找重复项,而不是搜索在该命令末尾输入的已知单词或字符串。

例如:我在 arch/arm/Kconfig 中添加了 config ARCH_VEXPRESS 和更多类似的东西,它在第二个分支中...因为它在我的基本分支中丢失了。后来我发现很多都是重复的,因为它已经存在于arch/vexpress/Kconfig或者另一个Kconfig中。

那么,有没有人知道我可以使用一个命令或 bash 脚本来搜索所有 Kconfig* 文件以查找“config $@”的副本而无需输入 $@ STRING???

我希望它输出/显示文件名/位置、重复字符串,最好是它们所在的行号。

最佳答案

find . -name .git -prune -o -type f -name 'Kconfig' -print0 |
xargs -0 awk '/^config/ { count[$2]++; files[$2] = files[$2] " " FILENAME":"FNR; }
END { for (keyword in count) {
if (count[keyword] > 1) { print keyword files[keyword] }
}
}'

关于linux - 如何在多个文件中搜索重复的未知字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25338059/

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