转载请注明出处http://blog.csdn.net/zhaoyanjun6/article/details/79221495
本文出自【赵彦军的博客】
grep命令简介
grep
是一个最初用于 Unix
操作系统的命令行工具。在给出文件列表或标准输入后,grep
会对匹配一个或多个正则表达式的文本进行搜索,并只输出匹配(或者不匹配)的行或文本。
grep
可根据提供的匹配模式列表,查询文件中的匹配行.发现匹配行后,行内容会被标准输出(默 认),如果使用了其它参数,可以产生其它格式的输出。
grep
用于匹配文本,它对输入行的长度没有限制,除非受限于可用内存大小,并且可以匹配行内任意字符。
使用方法
grep -[可选参数] ‘搜索内容串’ filename
常用参数选项
-c 计算找到的符合行的次数。
-i 忽略大小写。
-n 显示匹配行及行号。
-v 找到没有搜索字符串的行。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-s 不显示不存在或无匹配文本的错误信息。
grep 具体使用实例
有一个文件 test.txt
, 内容如下。
a
ab
abc
d
e
abcde
A
B
1、查找 a
字符串
grep “a” test.txt
或者
grep a test.txt
效果如下
2、 -c
计算找到的符合行的次数。
grep -c a test.txt
效果如下:
代表有 a
字符的文本出现了 4 次
3、 -i
忽略大小写。
grep -i a test.txt
结果如下:
4、 -n
显示匹配行及行号
grep -n a test.txt
效果如下:
可以看到 test.txt
中包含 a
字符串有 4 处,分别在第一行、第二行、第三行、第六行。
5、 -v
找到没有搜索字符串的行。
grep -v a test.txt
效果如下
6、在多个文件中查找
现在把 test.txt
文件复制一份为 test2.txt
, 现在在两个文件中查找 a
字符串
grep a test.txt test2.txt
效果如下:
7、-h
在多个文件中查找,去掉文件的名字
grep -h a test.txt test2.txt
效果如下:
8、-l
查询多文件时只输出包含匹配字符的文件名。
grep -l a test.txt test2.txt
效果如下
9、-w
精准全匹配搜索
在 test.txt
文本中精确匹配 ab
单词
grep -w “ab” test.txt
效果如下:
10、模糊匹配
在所有 txt
文本中,查找 a
字符串
grep a *.txt
个人微信号:zhaoyanjun125 , 欢迎关注