经常需要查找大文件中的特定数据行,可以使用grep命令来搜索,而不必在整个文件手动查找。
数据搜索的方式如下:
1、grep 文件,直接使用grep
grep命令的格式如下:
grep [options] pattern [file]
grep命令的用法如下:
grep命令将在输入或指定的文件中搜索包含与指定模式(pattern)匹配 的字符的数据行。
grep命令的输出是包含匹配模式的数据行。
1> 用法一:grep 匹配模式 文件名
例如:在file1文件中搜索与模式Ju匹配的文本,grep输出包含与模式Ju匹配的文本行
[root@hadoop tmp]# cat file1
Jan
Mar
Feb
Apr
May
Jun
Jul
Aug
Sep
[root@hadoop tmp]# grep Ju file1
Jun
Jul
2> 用法二:grep -v 匹配模式 文件名 ,反转搜索
反转搜索,输出不匹配模式的数据行,使用-v参数
[root@hadoop tmp]# grep -v Ju file1
Jan
Mar
Feb
Apr
May
Aug
Sep
3> 用法三:grep -n 匹配模式 文件名 ,获取与模式匹配的数据所在的行号
[root@hadoop tmp]# grep -n Ju file1
6:Jun
7:Jul
4> 用法四:grep -c 匹配模式 文件名 ,仅显示有多少行匹配模式,不输出真正数据行
-c 取自count 之意
[root@hadoop tmp]# grep -c Ju file1
2
5> 用法五:grep -e 匹配模式1 -e 匹配模式2 文件名 ,指定多个匹配模式
[root@hadoop tmp]# grep -e Ju -e Ja file1
Jan
Jun
Jul
6> 用法六:grep 和正则表达式匹配使用