Chinaunix首页 | 论坛 | 博客
  • 博客访问: 27525
  • 博文数量: 3
  • 博客积分: 545
  • 博客等级: 中士
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-30 09:39
文章分类
文章存档

2012年(1)

2011年(2)

最近访客

分类:

2011-02-24 11:31:14

grep的使用15招

原文链接 获取grep的抓地力了! - 15实用grep命令的例子

首先创建我们练习grep的命令时需要用到的演示文件demo_file。

$猫demo_file
此行是第一本档案大写线。
此行是第一本文件的情况下低行。
此行有各种各样的带字大写的第一个字符。

上述两线这条线是空的。
这是最后一行。 1。从单个文件中搜索指定的字串

grep的的基础用法是如下例的从指定的文件中搜索特定的字串。

语法:
grep的“literal_string”文件名

$ grep的“这个”demo_file
此行是第一本文件的情况下低行。
上述两线这条线是空的。
这是最后一行。 2。 在多个文件中检索指定的字串语法:
grep的“弦”FILE_PATTERN的


先拷贝demo_file为demo_file1。grep的的结果在符合条件的行前将包括文件名。当文件名包含元字符时,Linux的shell会将匹配的所有文件作为输入到grep的中去。

$处长demo_file demo_file1

$ grep的“这个”demo_ *
demo_file:此行是第一次在这个文件的情况下低行。
demo_file:两个以上的这条线线是空的。
demo_file:这是最后一行。
demo_file1:此行是第一次在这个文件的情况下低行。
demo_file1:两个以上的这条线线是空的。
demo_file1:这是最后一行。 3。 用grep的我进行大小写无关的搜索语法:
grep的- i“的字符串”文件


也是一个基本用法,对搜索的字串忽略大小写,因此下例中匹配“的”,“的”和“”。

$ grep的我“的”demo_file
此行是第一本档案大写线。
此行是第一本文件的情况下低行。
此行有各种各样的带字大写的第一个字符。
这是最后一行。 4。 使用用正则表达式语法:
grep的“regex”的文件名


如果你能有效地利用正则表达式,这是个很有用的特点。在下面的例子中,搜索全部以“线”开始以“空”结束的字串,如搜索“线[之间任意字]空“,并且忽略大小写。

$ grep的- i“的线路.*空”demo_file
上述两线这条线是空的。

正则表达式遵循的几个重复的操作

  •  最多匹配一次
  • *匹配零次或者任意多次
  • +匹配一次以上
  • {n}的匹配ñ次
  • {氮,}最少匹配ñ次
  • {,m}语法最多匹配米次
  • {氮,米}匹配ñ到米次
5。 用grep的钨搜索整个词,而不是词中的部分字串

使用钨选项搜索一个单词,并且避免搜索到词中的部分字串。

下例搜索“是”。如果不加-瓦特选项,将显示“是”,“他”,“这”等所有包含“是”的行。

$ grep的- I“是”demo_file
此行是第一本档案大写线。
 行是第一线的情况下这个文件研究。
此行有各种各样的带字大写的第一个字符。
上述两线这条线是空的。
这是最后一行。


下例使用了钨选项,请注意结果中不包含“这行有其所有带有大写单词的第一个字”,虽然“这个”中包含“是”。

$ grep的信息战“是”demo_file
此行  第一本档案大写线。
此行  在第一线的情况下这个文件研究。
上述两线这条线是空的。
这是最后一行。 6。 使用grep的一个,- b和- c显示之前,之后,前后的几行

当使用grep的搜索大文件时,显示匹配行附近的多行数据是一个很有用的功能。


创建如下文件

$猫demo_text
4。 Vim的字导航

你可能想在关系的几个导航的话,如:

*电子 - 到当前单词的末尾。
*电子 - 到当前单词的末尾。
*β - 转到前(前)字。
*乙 - 转到前(前)字。
*宽 - 转到下一个单词。
*宽 - 转到下一个单词。

字 - 字由一个非空白字符序列空格分隔。
字 - 字由字母,数字和下划线的序列。

举例说明词和词之间的区别

* 192.168.1.1 - 单个Word
* 192.168.1.1 - 七个字。 6.1显示匹配行之后的行ñ

语法:
grep的- A“弦”文件名


下例显示匹配行和之后的3行数据

$ grep的一个3我“榜样”demo_text
举例说明词和词之间的区别

* 192.168.1.1 - 单个Word
* 192.168.1.1 - 七个字。 6.2显示匹配行之前的行ñ

- B的

语法:
grep的- B“的字符串”文件名


下例显示匹配行和之前的2行数据

$ grep的- B的2“单WORD”的demo_text
举例说明词和词之间的区别

* 192.168.1.1 - 单个Word 6.3显示匹配行前后的ñ行

- C的显示之前的ñ行,之后的ñ行数据。

$ grep的- C 2的“范例”demo_text
字 - 字由字母,数字和下划线的序列。

举例说明词和词之间的区别

* 192.168.1.1 - 单字7通过GREP_OPTIONS高亮显示搜索的字串。

如果你希望搜索的字串高亮显示在结果中,可以试用以下的办法。

通过修改GREP_OPTIONS对搜索字串高亮显示。

$出口GREP_OPTIONS =' - color = auto时,GREP_COLOR = 100; 8'

$ grep按这个demo_file
 行是第一线的情况下这个文件研究。
上述两线  行是空的。
而  是最后一行。 8。 用grep的- R的递归搜索全部的文件

如果想查找当前目前以及其子目录的全部文件时,可以使用- R的选项。如下例

$ grep的- R“的拉梅什”* 9。 使用grep的- V的进行不匹配

可以使用- V的选项显示不匹配搜索字串的行。下例显示demo_text文件中不包含“走出去”的行

$ grep的- V的“走出去”demo_text
4。 Vim的字导航

你可能想在关系的几个导航的话,如:

字 - 字由一个非空白字符序列空格分隔。
字 - 字由字母,数字和下划线的序列。

举例说明词和词之间的区别

* 192.168.1.1 - 单个Word
* 192.168.1.1 - 七个字。 10。 显示不匹配全部模式的行语法:
grep的- V型E“的模式”- e“的模式”

创建如下例子文件

$猫测试file.txt的

b
ç
e

$ grep的- V型e“的一个”- e“的乙”- E的“C”的测试file.txt的
。e 11用grep的- C的统计匹配的行数语法:
grep的- C“的模式”文件名

$ grep的- C的“走出去”demo_text
6


统计不匹配的行数

$ grep的- V型C本demo_file
4 12。 用grep的- 1只显示文件名$ grep的- L这demo_ *
demo_file
demo_file1 13。 只显示匹配的字串

缺省显示匹配字串的所在行,可以使用邻选项只显示匹配的字串。这项功能当使用正则表达式时比较有用处。

$ grep的- o“的是.*线”demo_file
是行是第一线小写
是行
的是最后一行14。 显示匹配的位置语法:
grep的- O型B“的模式”文件

$猫温度- file.txt的
12345
12345

$ grep的- Ø - B的“3”的临时- file.txt的
0:3
6:3


注意: 以上输出显示的不是行内的位置,而是整个文件中的字节字节的位置

15。 用grep的- N的在输出时显示行号

行号从一开始

$ grep的- N的“走出去”demo_text
5:*电子 - 到当前单词的末尾。
6:*电子 - 到当前单词的末尾。
7:*β - 转到前(前)字。
8:*乙 - 转到前(前)字。
9:*宽 - 转到下一个单词。
10:*宽 - 转到下一个单词。
阅读(2195) | 评论(1) | 转发(0) |
0

上一篇:没有了

下一篇:僵尸进程

给主人留下些什么吧!~~

woai1222011-04-13 09:35:19

很实用的啊