1

在过去 15 年左右的时间里,我一直在合并各种开发人员/CAD 绘图员使用的所有源代码文件。似乎每个人都使用相同的代码库,直到大约 7 年前,当时每个人似乎都制作了所有文件的本地副本并在本地使用/编辑它们。

我已经成功/痛苦地将他们所有具有相同名称的文件重新合并在一起。但是,我发现有时,具有不同名称的文件包含具有相同名称和参数的函数。期望一个函数实现的工具最终可能会调用不同的实现,具体取决于何时加载哪些文件。

有没有一种简单的方法可以在所有文件中搜索重复的函数名称?

例如,一个函数如下所示:

(defun MyInStr (SearchIn SearchFor)
    ...
)

我怎么能搜索所有文件(defun MyInStr (SearchIn SearchFor)

4

1 回答 1

0

我建议使用ctags来生成TAGS文件,然后在其中搜索重复的行:

$ ctags -R
$ sort TAGS -o - | uniq -c | grep -v '^ *1 '

以上将产生如下输出:

...
3   defun MyInStr (SearchIn SearchFor)
...

这将告诉您MyInStr在代码库中使用相同的签名重新定义了 3 次。

您还可以使用或使用任何其他脚本工具仅提取函数名称或对文件进行sed更复杂的处理。TAGSperllisppython

于 2014-03-13T16:13:30.173 回答