grep用法详解:grep与正则表达式

首先要记住的是: 正则表达式与通配符不一样,它们表示的含义并不相同!
正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串。vim、grep、awk 、sed 都支持正则表达式,也正是因为由于它们支持正则,才显得它们强大;

1基础正则表达式

grep 工具,以前介绍过。
grep -[acinv]   ‘搜索内容串‘   filename

-a 以文本文件方式搜索
-c 计算找到的符合行的次数
-i 忽略大小写
-n 顺便输出行号
-v 反向选择,即显示不包含匹配文本的所有行
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-s 不显示不存在或无匹配文本的错误信息。
grep命令加- E参数,这一扩展允许使用扩展模式匹配。

Continue reading

GREP – UNIX从头学之命令篇

简介
grep是在UNIX和Linux上很有用的命令之一。grep 与 awk, sed, perl等有很多相似之处,如果熟悉其他几个命令,也很容易掌握grep,反之亦然。
Grep的基本功能就是搜索。它通过正则表达式对输入数据检索并输出满足正则表达式的行。


Qyii – 2004 年 09 月 08 日 – 03:00 PM
标题:


用法举例

1. 从文件中查找包含某个字符串的所有行
grep 北京 a.txt

2. 现实当前目录中文件名包含某个字符串的文件名称
ls -l | grep haha

3.使用-v参数,现实不包含某个字符串的行
grep -v lala a.txt


Qyii – 2004 年 09 月 08 日 – 11:29 PM
标题:


通配符

. (点)

> cat test.txt
abc
adc
aec
abb
dbb
cdd

> grep a.c test.txt
abc
adc
aec


Qyii – 2004 年 09 月 08 日 – 11:32 PM
标题:


*
> cat test.txt
abc
adc
aec
abb
dbb
cdd

> grep a.* test.txt
abc
adc
aec
abb


Qyii – 2004 年 09 月 08 日 – 11:47 PM
标题:


正则表达式

\是转义字符,在特殊字符前面加上\可以让这个特殊字符变成通常的字符。

例如:

查找包含字符 bonoy.gif 的行

grep ‘bonoy\.gif’ 文件名称

操作符 ?

一个字符跟一个转义的问号组成的表达式匹配一个或零个那个字符。

例如:
bono?y 匹配 bonoy 和 bony


Qyii – 2004 年 09 月 14 日 – 11:07 PM
标题:


grep -i …

忽略大小写

代码:
>cat a.txt
Abc
aBc
abc
ass

 

代码:
>grep -i abc a.txt
Abc
aBc
abc