4.1.2.2 linux文件管理 :文件属性操作 :文件内容 :检索
1.常用命令
grep -C 5 word sourceFile ##显示sourceFile文件里匹配word字串那行以及上下5行
grep -B 5 word sourceFile ##显示word及前5行
grep -A 5 word sourceFile ##显示word及后5行
grep.txt文件内容
12345
SSH1
SSH2
ssh1
ssh2
Ssh1
Ssh2
2. grep检索
2.1 grep检索-普通(默认带正则)
$ cat grep.txt | grep ssh
ssh1
ssh2
2.2 grep检索-显示块编号(-b)
$ cat grep.txt | grep -b ssh
16:ssh1
21:ssh2
2.3 grep检索-显示匹配到的行数(-c)
$ cat grep.txt | grep -c ssh. ##ssh开头的有两个行
2
2.4 grep检索-匹配多个参数(-e)
$ cat grep.txt | grep -e ssh. -e SSH
SSH1
SSH2
ssh1
ssh2
2.4 grep检索-参数作为普通字符串处理(不在作为正则处理)(-F)
$ cat grep.txt | grep -F ssh.【不会匹配都ssh1】
$
2.5 grep检索-参数忽略大小写(-i)
$ cat grep.txt | grep -i ssh1
SSH1
ssh1
Ssh1
2.6 grep检索-显示行号(-n)
$ cat grep.txt | grep -n ssh1
4:ssh1
2.7 grep检索-显示不匹配单词(-v)
$ cat grep.txt | grep -v ssh.
12345
SSH1
SSH2
Ssh1
Ssh2
2.8 grep检索-进行单词搜索(匹配到的一定是单词)(-w)
$ cat grep.txt | grep -w ssh.
ssh1
ssh2
$ cat grep.txt | grep -w ssh【并不会匹配到ssh1】
$
2.9 grep检索-文件检索 (grep word sourceFile)
以文件作为输入流
##grep ssh grep.txt
ssh1
ssh2
3.grep 命令详解
-b ##在每行之前显示运行时的块编号
-c ##仅显示匹配行数 : -c ssh 4
-E ##扩展的正则表达式(表达式的扩展)
-e ##指定一个或多个搜索 : -e 1 -e 2
-F ##当做是普通的字符串处理 : ssh* 就是查询ssh*
-i/y ##忽略大小写 :-i ssh 匹配 SSH
-n ##显示行号 : -n ssh 16:ssh
-q ##禁止输出??好像无用
-v ##显示不匹配的模式
-w ##进行单词搜索
-x ##进行精确匹配
File ##进行搜索的文件/如果没有这个参数,就使用标准输入