Grep 的常用参数和使用

以下是我常用的查找方法,希望对大家有用。欢迎大家补充。


1 查找文件中的内容。一般在日志比极大的时候用grep 很有用 ,下面我说下 我常用的 grep 参数。

当然这样输出的信息很少,有时候需要知道他的上下文。 这时候可以配合  -A -B -C 参数。

-A  就是显示匹配行之后的内容

比如

grep -A 10 'username' log/production.log


这样就会显示匹配'username'行后面10行的内容。

同样,如果要显示匹配行前面的内容可以加上 -B 命令(before)

grep  -B 5 -A 10 'username' log/production.log #显示前面5行和后面10行的内容。
 

-C 命令就是 -A 和 -B 的结合了

grep -C 5 'username' log/production.log # 显示前后5行的内容。
 

一般情况我除了上面 -A -B -C 参数外在输出特别多的情况我会配合tail ,head ,more来使用

grep -C 5 'username' log/production.log #显示前后5行的内容。
grep -C 5 'username' log/production.log |more 
grep -C 5 'username' log/production.log | tail -100 

grep 我还常用来查找代码

比如说有个方法是get_something 。如果我想看看有哪些地方使用了这个方法我就会用grep 配合 -n -d 来查找。

grep -n -d recurse 'get_something' ./

-n 是显示行号 -d recurse 则是递归搜索目录。

其他 

根据文件名查找文件

grep -n -d recurse 'get_something' ./

 查看指定行数

sed -n '190,196p'  test.txt //查看第190 到 196行的内容

 筛选列

awk '{print $2}' 打印第二列的内容。比如用 ps -ef|awk '{print $2}' 就可以把进程号给列出来
 

猜你喜欢

转载自damon34.iteye.com/blog/1484842