|
大家好,
我写了以下脚本,想把我想要的关键字在相应的代码文件里查找出来。
-
- #!/bin/bash
- if [ -z "$3" ];
- then
- find "$1" \( -name \.svn -o -name \.git -o -name \.hg \) -prune -o \( -name \*\.c -o -
- name \*\.cc -o -name \*\.h -o -name \*\.sh -o -name \*\.py -o -name YBUILD -o -name [m,M]a
- kefile \) -exec grep -wnH "$2" {} \;
- else
- find "$1" \( -name \.svn -o -name \.git -o -name \.hg \) -prune -o \( -name \*\.c -o -
- name \*\.cc -o -name \*\.h -o -name \*\.sh -o -name \*\.py -o -name YBUILD -o -name [m,M]a
- kefile \) -exec grep -wnHA$3 -B$3 "$2" {} \;
- fi
复制代码
但是,在这个脚本里,仍然不能把像以//开头的行给筛选掉,如果是在此次grep的結果的基础上
再来一次grep以筛掉以//开头的行的话,最終的結果里,就丢失了文件名,以及相应的行数的信息了。
而这些信息对我阅读源代码而言,是最重要的。
大家有什么好用的脚本吗?
BTW,我现在在用vim+ctags.麻烦的是要在每一个代码文件夹下放一个类似.vimdc的文件,告诉vim到哪
去找tags文件。查找一个函数的定义,勉强还行,但是它无法找到所有调用该函数的地方。用cscope的
方案,我还在摸索。。 |
|