SHELL编程四剑客之grep工具
全面搜索正则表达式(Global search regular expression(RE) ,GREP)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
Unix/Linux的grep家族包括grep、egrep和fgrep,其中egrep和fgrep的命令跟grep有细微的区别,egrep是grep的扩展,支持更多的re元字符, fgrep是fixed grep或fast grep简写,它们把所有的字母都看作单词,正则表达式中的元字符表示其自身的字面意义,不再有其他特殊的含义,一般使用比较少。
目前Linux操作系统默认使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。其语法格式及常用参数详解如下:
grep -opiton 'word
[root@www ~]# cat score.txt
Aaron Physics 87
Abel Maths 98
Rahul Chinese 90
Buck Biology 87
Byron English 85
Dave History 89
Enoch Chemistry 89
-o代表only,不会将行打印出来,只打印匹配到的
[root@www ~]# grep -o 89 score.txt
89
89
' Filename
grep常用参数详解如下:
-a 以文本文件方式搜索;
-c 计算找到的符合行的次数;
-i 忽略大小写;
-n 顺便输出行号;
-v 反向选择,即显示不包含匹配文本的所有行;
-h 查询多文件时不显示文件名;
-l 查询多文件时只输出包含匹配字符的文件名;
-s 不显示不存在或无匹配文本的错误信息;
-E 允许使用egrep扩展模式匹配