我正在处理一个大型代码库,想看看像“foo”和“bar”这样的特定字符串在哪里使用,n在该代码库中的任何文件中,彼此的行。
理想情况下,我会使用内置的 Unix 命令,但 Python 脚本也可以。(Perl 或 Ruby 不太好)。
答案1
寻找彼此相距 5 行以内的foo
:bar
grep -C5 foo inputfile | grep bar > outputfile
为‘大型代码库’添加复制:
find /my/codebase/path -type f -print0 | xargs -0 grep -C5 foo | grep bar > outputfile