Apollo Connecting the World

Diligence and Intelligence

Posts Tagged ‘grep

[zz]Ack: 比 Grep 更好用的代码搜索工具

leave a comment »

grep 的苦恼

身为一个程序员,经常要在代码海里面找到某个该死的东西在哪里出现过。大部分人都会用 grep -R pattern . 来递归查找,但是 grep 会把很多你完全不想要的东西挖出来,比如:

  • 版本管理系统的目录。用 svn 的人都知道,svn 会把 .svn 目录扔得到处都是(1.7 版本开始改善了这一点,但某厂还在用 1.6,你懂的),要排除掉不容易。同理, CVS , .git , .hg 这些目录里面的内容通常都不是我们关心的。
  • 备份文件。例如 foo~, #foo# 。
  • 二进制文件。例如 core dump, .o 文件, .a 文件。

Read the rest of this entry »

Written by apollozhao

2012/10/15 at 03:05

Posted in ack, grep, Programming

Tagged with , , , ,

grep递归搜索

leave a comment »

如何使用grep递归搜索一个目录下及其所有子目录中文件中的字符串?

例:搜索: content

grep -r content ./

Written by apollozhao

2011/05/25 at 15:09

Posted in grep, Linux

Tagged with , , ,

[zz]用grep查找文件内容

leave a comment »

from: http://hi.baidu.com/zengzhaonong/blog/item/468a06d88ebb113532fa1c62.html

 

使用grep搜索文件内容——快捷、方便

(1) 在当前目录下的所有文件的文件内容中查找哪个文件的内容中有findcontents(大小写不敏感,列出findcontents所在文件的所在行)——适合于当前目录下的文件及目录数目比较少,如果查找后列出内容过多,将会失去查找意义。
grep -rin findcontents *

(2) 如果查找后列出内容过多,就需要用如下命令(只列出findcontents在所在文件的出现次数):
grep -ric findcontents * | grep -v :0

(3) 如果根本不知道文件所在目录,就需要在根目录下进行查找(查找整个硬盘空间),但是由于根目录下某些文件(bin、sbin、boot、dev、initrd、lib)没有查找价值,因而要将其排除在查找范围之外
# cd /
grep -rin findcontents `ls | grep -vE ‘bin|boot|dev|initrd|lib’`

——————————————

-i, –ignore-case
-n, –line-number
-c, –count
-r, –recursive
-v, –invert-match
-E, –extended-regexp
-e PATTERN, –regexp=PATTERN
Use PATTERN as the pattern; useful to protect patterns beginning with -.
注:有c的时候n将失效


 

Written by apollozhao

2011/01/15 at 16:31

Posted in grep, Linux

Tagged with , ,