找到命名不佳的变量/对象

时间:2014-08-14 23:34:18

标签: javascript python search grep

我正在处理大约100个用python,JavaScript和HTML编码的不同文件。其中许多文件以复杂的方式耦合。我遇到的一个问题是尝试将变量或对象追溯到定义的位置。我的问题是,是否有更聪明的方法来寻找一个常用词。例如,以下是在python函数末尾返回的一些键值对。

return {
     "form": context["form"],
     "groups": context["groups"],
     "facilities": context["facilities"],
     "student": user,
     "topics": topics
 }

如果我在这些文件所在的目录中搜索主题:

$ grep 'topics' * -R

我最终得到的文件太多了。我无法将搜索范围缩小到只有.py文件,因为一些JS和HTML文件也是耦合的。任何建议将不胜感激!

2 个答案:

答案 0 :(得分:0)

您可以搜索'topics = '以将其缩小到仅指定名为topics的变量的位置。这样可以更容易地找出全局变量的来源。

答案 1 :(得分:0)

杰克说,一种聪明的方法是使用=符号来缩小搜索范围。您可以进一步将其缩小到赋值,假设它第一次出现时,可能会被赋值。这可以这样做:

for f in $(find .); do grep -m 1 'topics[[:space:]]*=' -R; done

这将对当前目录和所有子目录中的每个文件应用grep命令。然后它将第一次出现字符串(在这种情况下,'主题')。

以下是grep的手册页,其中显示了所有选项:grep-man-page

以下是Stack Overflow问题,该问题显示了如何在每个文件上grep获取第一个/最后一个结果:get-last-line-from-grep-on-multiple-files

这是一个Stack overflow问题,处理grep中的空格:grep-regex-whitespace

相关问题