Linux如何使用grep查找包含某个字符的文件

时间:2019-08-20 17:58:11  来源:igfitidea点击:

Grep是一个命令行实用程序,用于在纯文本数据集中搜索与正则表达式匹配的行。
Grep最初是为Unix操作系统开发的,但现在可用于所有类Unix的系统。

这里,我们将使用grep命令在文件中查找多个字符串

语法

grep [options] 'keyword1|keyword2|Keyword3|keyword-N' /path/file-name

注意, 有的linux版本中,grep 命令不支持正则表达式,这时,我们可以使用egrep命令替代。

示例

假设我们有一个sample.txt 文件,内容如下:

Hyman@theitroad:/tmp$ cat sample.txt 
Orange
white
blue
Blue line
black
red
Red Apple
green leaves
yellow
violet
pink rose
Hyman@theitroad:/tmp$

查找black或者red

Hyman@theitroad:/tmp$ grep 'black|red' sample.txt 
black
red
Hyman@theitroad:/tmp$

精确查找

使用-w选项精确匹配关键字,精确匹配是区分大小写的。

Hyman@theitroad:/tmp$ grep -w 'black|red|blue' sample.txt 
blue
black
red
Hyman@theitroad:/tmp$

查找时不区分大小写。

使用-i选项,在查找时不区分大小写。

Hyman@theitroad:/tmp$ grep -i 'blue|red|black' sample.txt 

## 使用egrep替代
Hyman@theitroad:/tmp$ egrep -i 'blue|red|black' sample.txt 
blue
Blue line
black
red
Red Apple