grep命令的用法

简介:

grep命令的用法

grep global search regular RE ) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.


参数:

1. -ANUM--after-context=NUM   除了列出符合行之外,并且列出后NUM行。

:   $ grep –A1 panda file  (file中搜寻有panda样式的行,并显示该行的后1)


2. -BNUM--before-context=NUM  -A NUM 相对,但这此参数是显示除符合行之外并显示在它之前的NUM行。如:    (file中搜寻有panda样式的行,并显示该行的前1)

$ grep -B 1 panda file


3 -C[NUM], -NUM, --context[=NUM]  列出符合行之外并列出上下各NUM行,默认值是2


:   (列出file中除包含panda样式的行外并列出其上下2)(若要改变默认值,直接改变NUM即可)

$ grep -C[NUM] panda file


4-c, --count  不显示符合样式行,只显示符合的总行数。若再加上-v,--invert-match,参数显示不符合的总行数

5-i--ignore-case 忽略大小写差别


6-n--line-number 在匹配的行前面打印行号


7-v--revert-match  反检索,只显示不匹配的行


8、精确匹配:

例如在抽取字符串“ 48”,返回结果包含诸如484483等包含“48”的其他字符串,实际上应精确抽取只包含48的各行。


使用grep抽取精确匹配的一种有效方式是在抽取字符串后加\>。假定现在精确抽取48

方法如下:

#grep '48\>' filename


9-s 不显示不存在或无匹配文本的错误信息

如:执行命令grep "root" /etc/password,因为password文件不存在,所以在屏幕上输出错误信息,若使用grep命令-s开关,可屏蔽错误信息


要用好grep这个工具,其实就是要写好正则表达式,所以这里不对grep的所有功能进行实例讲解,只列几个例子,讲解一个正则表达式的写法。


$ ls -l | grep  '^d' 
通过管道过滤ls -l输出的内容,只显示以d开头的行。


$ grep  'test'  d*
显示所有以d开头的文件中包含test的行。


$ grep  'test'  aa  bb  cc 
显示在aabbcc文件中匹配test的行。


$ grep  '[a-z]\{5,\}'  aa 
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。


$grep  ‘t[a|e]st’ filename

显示包含testtast的所有行。


$grep  '\.$' filename

显示以.为结尾的所有行。



本文转自甘兵 51CTO博客,原文链接:http://blog.51cto.com/ganbing/1221539,如需转载请自行联系原作者
相关文章
|
3月前
|
Linux
find和grep命令的简单使用
这篇文章介绍了Linux中find和grep命令的基本使用,包括find命令的查找文件功能和grep命令的文本搜索功能,以及正则表达式的简单说明和应用实例。
find和grep命令的简单使用
|
7月前
|
Unix
grep的基本用法
grep的基本用法
55 2
|
7月前
|
Perl
grep的复杂用法
grep的复杂用法
58 3
|
7月前
|
Unix Linux
grep的具体用法
grep的具体用法
73 1
|
弹性计算 Shell Linux
3天玩转shell--6.sed 和grep用法
本文将通过shell代码示例,简单通俗的讲解shell。通过执行代码和运行结果反向掌握shell编程方法。准备一台低配的阿里云ECS Linux环境,跟着教程走起,本文比较适合shell小白。
199 0
|
索引
$.grep() 的用法
$.grep() 的用法
348 0
$.grep() 的用法
|
机器学习/深度学习 Shell
|
存储 Unix Linux
下一篇
无影云桌面