grep命令

来源:互联网 发布:mysql中insert into 编辑:程序博客网 时间:2024/05/24 06:21
grep全面搜索正则表达式。


主要参数:
-c:只输出匹配行的计数。
-I:不区分大 小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。


pattern正则表达式主要参数:
\: 忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
\<:从匹配正则表达 式的行开始。
\>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
。:所有的单个字符。
* :有字符,长度可以为0。


1.创建文件00.pem

vi 00.pem
内容
1 2 hello world3 4 user liu i am a teacher5 6 world7 8 world 1239 10 hello haha

2.使用默认的grep命令
[root@iZ2546h6zurZ test]# grep hello 00.pem hello worldhello haha

3.
查询出user字符串所在的行号(-n):
[root@iZ2546h6zurZ test]# grep -n user 00.pem4:user liu i am a teacher

查询出user字符串有几行(-c):
[root@iZ2546h6zurZ test]# grep -c user 00.pem1


创建文件01.pem
内容:
1 user liu2 3 hello world4 5 lcq welcome to beijing6 7 haha8 9 hello10 11 world

查询多个文件
[root@iZ2546h6zurZ test]# grep -n hello 00.pem 01.pem00.pem:2:hello world00.pem:10:hello haha01.pem:3:hello world01.pem:9:hello


多个文件时可以使用通配符

[root@iZ2546h6zurZ test]# grep -n hello 0?.pem00.pem:2:hello world00.pem:10:hello haha01.pem:3:hello world01.pem:9:hello

找出不包含某个字符串的所有的行(-v)

[root@iZ2546h6zurZ test]# grep -n -v hello 00.pem1:3:4:user liu i am a teacher5:6:world7:8:world 1239:11:12:13:14:15:16:

创建文件02.pem
内容
1 hello Hello2 world3 World4 Beijing5 jinan6 beijing7 8 

查询出beijing,不区分大小写(-i)
[root@iZ2546h6zurZ test]# grep -n beijing 02.pem 6:beijing[root@iZ2546h6zurZ test]# grep -n -i beijing 02.pem 4:Beijing6:beijing


找出匹配hell*字符串(-w),-w表示匹配整词
[root@iZ2546h6zurZ test]# grep -n hell* 02.pem1:hello Hello[root@iZ2546h6zurZ test]# grep -n -w hell* 02.pem

4.
找出以.pem结尾的文件中以user开头的行
将grep和正则结合使用

[root@iZ2546h6zurZ test]# grep ^user *.pem00.pem:user liu i am a teacher01.pem:user liu


0 0
原创粉丝点击