grep、egrep、fgrep命令
一、grep、egrep、fgrep命令
本文中主要介绍了linux系统下grep egrep fgrep命令和正则表达式的基本参数和使用格式、方法。
(注释:文中fg代表例子,)
1.1、基本定义:
grep(global search regular RE ) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它只能使用基本的正则表达式来搜索文本,并把匹配的行打印出来。
grep是很常见也很常用的命令,它的主要功能是进行字符串数据的比较,然后符合用户需求的字符串打印出来,但是主意,grep在数据中查找一个字符串时,是以“整行”为单位进行数据筛选的。
egrep命令等同于grep -E,利用此命令可以使用扩展的正则表达式对文本进行搜索,并把符合用户需求的字符串打印出来。
fgrep命令等同于grep -F,它利用固定的字符串来对文本进行搜索,但不支持正则表达式的引用,所以此命令的执行速度也最快。
1.2、命令基本用法
grep [option] '搜索字符串' filename
grep常用选项:
-a :在二进制文件中,以文本文件的方式搜索数据
-c :计算找到'搜索字符串'的次数
-i :忽略大小写
-v :反向查找,即显示没有'搜索字符串'内容的那行
-o :只显示被模式匹配的字符串
-n :输出行号
--colour(color):颜色显示
-A:显示匹配到字符那行的后面n行
-B:显示匹配到字符那行的前面n行
-C:显示匹配到字符那行的前后n行
二、正则表达式
2.1、基本定义:
正则表达使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。
在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。
简而言之,正则表达式就是处理字符串的方法,以行为单位进行字符串的处理,通过一些特殊符号的辅助,可以让用户轻松搜索/替换某特定的字符串。
正则表达式分为两类:基本的正则表达式和扩展的正则表达式。
2.2、正则表达式详细介绍
2.2.1、基本的正则表达式:
(1)元字符:
. :匹配任意单个字符
fg:查找包含student且student后面带一个字符的行
grep ‘student.’/etc/passwd (模式可以用单引号和双引号,如果模式中要做变量替换时则必须用双引)
[] :匹配指定范围内的任意单个字符,[abc],[a-z],[0-9],[a-zA-Z]
fg:查找带有数字的行
grep ‘[0-9]’ /etc/passwd
[^] :匹配指定范围外的任意单个字符
fg:查找没有小写字母的行。
grep ‘[^a-z]’ /etc/inittab
[:space:]:表示空白字符
[:punct:]:表示所有标点符号的集合
[:lower:]:表示所有的小写字母
[:upper:]:表示所有的大写字母
[:alpha:]:表示大小写字母
[:digit:]:表示数子
[:alnum:]:表示数字和大小写字母-----使用格式[[:alnum:]]等
(2)次数匹配:
* :匹配其前面的字符任意次
fg:查找root出现0次或0次以上的行
grep ‘root*’ /etc/passwd
.* :任意字符
fg:查找包含root的行
grep 'root.*' /etc/passwd
\?:匹配其前面的字符1次或0次
\{m,n\} :匹配其前字符最少m,最多n次)
(3) 字符锚定:
^:锚定行首,此字符后面的任意内容必须出现在行首
fg:查找行首以#开头的行
grep '^#' /etc/inittab
$:锚定行尾,此字符前面的任意内容必须出现在行尾
fg:查找行首以root结尾的行
grep 'root$' /etc/inittab
^$:锚定空白行,可以统计空白行
\<或者\b:锚定词首,其后面的任意字符必须做为单词首部出现
fg:查找root且root前面不包含任何字符的行
grep '\
\>或者\b:锚定词尾,其前面的任意字符必须做为单词尾部出现
fg:\ 查找root单词 grep "\" =grep "\broot\b"
2.2.2、扩展的正则表达式:
扩展的正则表达只是在基本的正则表达上作出了小小的一点修改,其修改如下:
在扩展的正则表达中把\( \) 写成()、\{ \} 写成{ },另外加入了+:次数匹配,匹配其前面的字符至少出现一次,无上限、|: 或者(二取一),其余的都一样,基本正则表达式,使用( ) { } . ? |都需要转义,在扩展正则表达中不需要加\,其详细信息如下:
(1) 字符匹配的命令和用法与基本正则表达式的用法相同,这里不再重复阐述。
(2) 次数匹配:
* :匹配其前面字符的任意次
?:匹配其前面字符的0此或着1此
+ :匹配其前面字符至少1此
fg:至少一个空白符:'[[:space:]]+'
{m,n} :匹配其前面字符m到n次
(3) 字符锚定的用法和基本正则表达式的用法相同,在此不再阐述。
(4)特殊字符:
| : 代表或者的意思。
fg:grep -E 'c|cat' file:表示在文件file内查找包含c或者cat
\.:\表示转义字符,此表示符号.
三、grep命令利用小实例
(1)显示/etc/inittab 中以#开头,且后面跟一个或者多个空白符,而后又跟了任意非空白符的行
grep '#[[:space:]]*[^[:space:]]' /etc/inittab
(2) 输出不是数字开关的行grep '^[^0-9]'
/etc/passwd
(3)输出行首是1或2
grep '^\(1\|2\)' /etc/inittab
或
grep -E '^(1|2)' /etc/inittab
(4)查找前面是rc中间接任意字符而后跟/rc
grep '.*\(rc\).*\/\1.*' /etc/inittab
(5)取出当前电脑上的IP
ifconfig |grep -A 1 "^eth0" |grep "\<[0-9.]\{1,\} |cut -d: -f2
(6)查找当前系统上名字为student(必须出现在行首)的用户账户的相关信息,文件为/etc/passwd
grep "^student" /etc/passwd。
cat和grep指令
cat命令功能1: 在标准输出上显示文件。
语法:cat [选项] 文件说明:该命令功能之一是用来显示文件。
它依次读取其后所指文件的内容并将其输出到标准输出。
该命令的各选项含义如下:-v 用一种特殊形式显示控制字符,LFD与TAB除外。
加了-v 选项后,-T 和-E 选项将起作用。
其中:-T 将TAB显示为“ùI”。
该选项需要与-v 选项一起使用。
即如果没有使用-v 选项,则这个选项将被忽略。
-E 在每行的末尾显示一个$符。
该选项需要与-v 选项一起使用。
-u 输出不经过缓冲区。
-A 等于-vET。
-t 等于-vT。
-e 等于-vE。
-n 在文件的每行前面显示行号。
指令实例:cat example.txt // 则在屏幕上显示出example.txt 文件的内容cat -A exam2.txt// 在屏幕上显示出exam2.txt 文件的内容,而且如果文件中含有特殊字符的话,一并显示功能2:连接两个或多个文件说明:该命令功能之二是用来将两个或多个文件连接起来。
cat file1 file2 > file3// 这样就把文件filel和文件file2的内容合并起来,放入文件file3中。
(此时在屏幕上并不能直接看到该命令执行后的结果。
若想看到连接后的文件内容,可以再使用“cat file3”。
)需要说明的是,当文件内容过多时,就带来一个问题,因为文本在屏幕上迅速地闪过,用户来不及看清其内容。
因此,当文件内容较大时,一般可用more等命令分屏显示,以免因屏幕滚动太快而无法看清。
linux grep命令1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
2.格式grep [options]3.主要参数[options]主要参数:-c:只输出匹配行的计数。
文件的常见命令及基本操作
⽂件的常见命令及基本操作1,显⽰⽂件内容命令——cat、more、less、head、tailCat命令cat命令连接⽂件并打印到标准输出设备上,cat经常⽤来显⽰⽂件的内容。
n或-number:有1开始对所有输出的⾏数编号;选项-n或-number:有1开始对所有输出的⾏数编号;-b或--number-nonblank:和-n相似,只不过对于空⽩⾏不编号;-s或--squeeze-blank:当遇到有连续两⾏以上的空⽩⾏,就代换为⼀⾏的空⽩⾏;-A:显⽰不可打印字符,⾏尾显⽰“$”;-e:等价于"-vE"选项;-t:等价于"-vT"选项;more命令more命令是⼀个基于vi编辑器⽂本过滤器,它以全屏幕的⽅式按页显⽰⽂本⽂件的内容,⽀持vi中的关键字定位操作。
-<数字>:指定每屏显⽰的⾏数;选项-<数字>:指定每屏显⽰的⾏数;-d:显⽰“[press space to continue,'q' to quit.]”和“[Press 'h' for instructions]”;-c:不进⾏滚屏操作。
每次刷新这个屏幕;-s:将多个空⾏压缩成⼀⾏显⽰;-u:禁⽌下划线;+<数字>:从指定数字的⾏开始显⽰less命令less命令的作⽤与more⼗分相似,都可以⽤来浏览⽂字档案的内容,不同的是less命令允许⽤户向前或向后浏览⽂件,⽽more命令只能向前浏览。
选项-e:⽂件内容显⽰完毕后,⾃动退出;-f:强制显⽰⽂件;-g:不加亮显⽰搜索到的所有关键词,仅显⽰当前显⽰的关键字,以提⾼显⽰速度;-l:搜索时忽略⼤⼩写的差异;-N:每⼀⾏⾏⾸显⽰⾏号;-s:将连续多个空⾏压缩成⼀⾏显⽰;-S:在单⾏显⽰较长的内容,⽽不换⾏显⽰;-x<数字>:将TAB字符显⽰为指定个数的空格字符。
head命令head命令⽤于显⽰⽂件的开头的内容。
Linux2 文本查看命令
Linux2 文本查看命令在前面的几节内容中,读者已经对文件的常用操作命令和压缩命令有了初步的了解,本节将继续介绍常用的文本查看命令,例如显示文件内容、显示文件内容的最前部分和逐页显示文件内容等命令。
1.cat显示文件内容cat命令的使用是连接文件并打印到标准输出设备上。
cat经常用来显示文件的内容,相当于DOS下的type命令。
该命令有两项功能,其一是用来显示文件的内容。
它依次读取由参数文件1所指明的文件,将它们的内容输出到标准输出上。
其二是连接两个或多个文件,如cat f1 f2 >f3,将把文件f1和f2的内容合并起来,然后通过输出重定向符“>”,将它们的放入文件f3中。
cat命令主要选项参数如表17所示:例如使用cat命令查看s.txt文本文件内容,如图26所示。
图26 cat命令2.head显示文件内容的最前部分head命令的使用是在屏幕上显示指定文件的开头若干行。
语法如下:head命令在屏幕上显示指定文件的开头若干行,行数由参数值来确定。
显示行数的默认值为10。
head命令主要选项参数如表18所示:表18 head命令主要选项参数例如显示README.txt的前6行,如图27所示。
图27 head命令3.tail显示文件内容的末尾部分tail命令的作用是在屏幕上显示指定文件的末尾若干行。
默认情况下,tail命令显示文件的最后10行内容,如果指定的文件多于一个,那么tail在显示每个文件之前先显示文件名。
head命令主要选项参数如表19所示:表19 head命令主要选项参数例如显示README.txt的后6行,如图28所示。
图28 tail命令4.more逐页显示文件内容如果文件太长,用cat 命令只能看到文件的最后一页,而用more 命令时可以一页一页地显示。
个提示信息,给出至今已显示的该文件的百分比:--More-(xx%)。
进入more状态,用Enter键可以向后移动一行;用空格键可以向后移动一页;用Q键可以退出;用B键,显示上一屏内容;用H键,显示帮助屏,该屏上有相关的帮助信息。
Ubuntu 查找命令
Ubuntu 查找命令whereis <程序名称>查找软件的安装路径-b 只查找二进制文件-m 只查找帮助文件-s 只查找源代码-u 排除指定类型文件-f 只显示文件名-B <目录> 在指定目录下查找二进制文件-M <目录> 在指定目录下查找帮助文件-S <目录> 在指定目录下查找源代码locate <文件名称>在文件索引数据库中搜索文件-d <数据库路径> 搜索指定数据库Updated 更新文件索引数据库find [路径] <表达式>查找文件-name <表达式> 根据文件名查找文件-iname <表达式> 根据文件名查找文件,忽略大小写-path <表达式> 根据路径查找文件-ipath <表达式> 根据路径查找文件,忽略大小写-amin <分钟> 过去N分钟内访问过的文件-atime <天数> 过去N天内访问过的文件-cmin <分钟> 过去N分钟内修改过的文件-ctime <天数> 过去N天内修改过的文件-anewer <参照文件> 比参照文件更晚被读取过的文件-cnewer <参照文件> 比参照文件更晚被修改过的文件-size <大小> 根据文件大小查找文件,单位b c w k M G-type <文件类型> 根据文件类型查找文件。
b 块设备 c 字符设备 d 目录 p 管道文件 f 普通文件 l 链接 s 端口文件-user <用户名> 按归属用户查找文件-uid <uid> 按UID查找文件-group <群组名> 按归属群组查找文件-gid <gid> 按GID查找文件-empty 查找空文件通用格式:find pathname -options [-print -exec -ok]例子:find / -name filename 再根目录里面搜索文件名为filename的文件find /etc -name *s*在目录里面搜索带有s的文件find /etc -name *S 在目录里面搜索以s结尾的文件find /etc -name s*在目录里面搜索以s开头的文件find / -amin -10在系统中搜索最后10分钟访问的文件find / -atime -2查找在系统中最后48小时访问的文件find / -empty 查找在系统中为空的文件或者是文件夹find / -group groupname 查找在系统中属于groupname的文件find / -mmin -5查找在系统中最后5分钟修改过的文件find / -mtime -1查找在系统中最后24小时修改过的文件find /-nouser查找在系统中属于费用户的文件find / -user username 查找在系统中属于username的文件find / -ctime -1查找在系统中最后24小时被改变状态的文件find / -fstype type查找在系统中文件类型为?的文件find / -user user1name -or -user user2name查找在系统中属于user1name或着属于user2name的文件find / -user user1name -and -user2name在系统中查找既属于user1name又属于user2name用户的文件.一、find 命令格式1、find命令的一般形式为;find pathname -options [-print -exec -ok ...]2、find命令的参数;pathname: find命令所查找的目录路径。
busybox使用及详解
busybox使用及详解转自:/thread-1344377-1-1.html 目录2# BusyBox3# 安装和登录命令rebootmountumountexit4# 文件处理命令mkdirgrepddfindmvlsdiffcmpcatln5# 系统管理命令dftopfreekill6# 网络操作命令ifconfigippingnetstattelnetroute7# 系统安全相关命令suumaskchgrpchmod8# 其他命令tarunzipgunzipBusyBoxBusyBox是标准Linux工具的一个单个可执行实现。
BusyBox包含了一些简单的工具,例如cat和echo,还包含了一些更大、更复杂的工具,例如grep、find、mount以及telnet。
有些人将BusyBox 称为Linux工具里的瑞士军刀.简单的说BusyBox就好像是个大工具箱,它集成压缩了Linux的许多工具和命令。
1、BusyBox的诞生BusyBox最初是由Bruce Perens在1996年为Debian GNU/Linux安装盘编写的。
其目标是在一张软盘上创建一个可引导的GNU/Linux系统,这可以用作安装盘和急救盘。
2、busybox的用法可以这样用busybox#busybox ls他的功能就相当运行ls命令最常用的用法是建立指向busybox的链接,不同的链接名完成不同的功能.#ln -s busybox ls#ln -s busybox rm#ln -s busybox mkdir然后分别运行这三个链接:#./ls#./rm#./mkdir就可以分别完成了ls rm和mkdir命令的功能.虽然他们都指向同一个可执行程序busybox,但是只要链接名不同,完成的功能就不同,很多linux网站都提供busybox的源代码下载。
3、配置busyboxbusybox的配置程序和linux内核菜单配置方式简直一模一样.熟悉用make menuconfig方式配置linux内核的朋友很容易上手.#cp busybox-1.00.tar.gz /babylinux#cd /babylinux#tar xvfz busybox-1.00.tar.gz#cd busybox-1.00#make menuconfig下面是需要编译进busybox的功能选项。
LINUX下查找文件或字符串的方法
LINUX下查找文件或字符串的方法第一个命令:find(我比较常用)功能说明:find指令用于查找符合条件的文件。
任何位于参数之前的字符串都将被视为欲查找的目录。
举例:我们要在/usr目录及子目录下查找“intelism”文件:find /usr -name intelism -print我们要在/usr目录及子目录下查找文件名包含“intelism”关键字的文件:find /usr -print |grep intelism若不填写/usr的话就是在当前路径及子目录下查找语法:find [目录...][-amin <分钟>][-anewer <参考文件或目录>][-atime <24小时数>][-cmin <分钟>][-cnewer <参考文件或目录>][-ctime <24小时数>][-daystart][-depyh][-empty][-exec <执行指令>][-false][-fls <列表文件>][-follow][-fprint <列表文件>][-fprint0 <列表文件>][-fprintf <列表文件><输出格式>][-fstype <文件系统类型>][-gid <群组识别码>][-group <群组名称>][-help][-ilname <范本样式>][-iname <范本样式>][-inum <inode编号>][-ipath <范本样式>][-iregex <范本样式>][-links <连接数目>][-lname <范本样式>][-ls][-maxdepth <目录层级>][-mindepth <目录层级>][-mmin <分钟>][-mount][-mtime <24小时数>][-name <范本样式>][-newer <参考文件或目录>][-nogroup][noleaf] [-nouser][-ok <执行指令>][-path <范本样式>][-perm <权限数值>][-print][-print0][-printf <输出格式>][-prune][-regex <范本样式>][-size <文件大小>][-true][-type <文件类型>][-uid <用户识别码>][-used <日数>][-user <拥有者名称>][-version][-xdev][-xtype <文件类型>]参数:-amin<分钟> 查找在指定时间曾被存取过的文件或目录,单位以分钟计算。
egrep的用法
egrep的用法一、什么是egrepegrep是Linux/Unix系统中的一个命令行工具,用于在文本文件中搜索指定的模式。
它是grep命令的扩展版本,增加了对正则表达式的支持。
egrep的全称是extended grep,它使用的是POSIX扩展正则表达式语法。
二、egrep的基本语法egrep的基本语法如下:egrep [选项] 模式文件其中,选项用于指定搜索的模式和文件,模式是要匹配的字符串或正则表达式,文件是要进行搜索的文件名或文件列表。
1. 模式模式可以是普通的字符串,也可以是正则表达式。
如果模式是字符串,则egrep会在文件中搜索完全匹配该字符串的行。
如果模式是正则表达式,则egrep会在文件中搜索满足该正则表达式的行。
2. 文件文件可以是单个文件名,也可以是多个文件名的列表。
如果文件名是一个目录,则egrep会搜索该目录下的所有文件。
如果文件名是一个通配符表达式,egrep会搜索匹配该表达式的文件。
三、egrep的常用选项egrep有一些常用的选项,用于指定搜索的模式和文件。
下面是一些常用的选项:1. -i该选项用于忽略模式的大小写。
例如,如果模式是”hello”,那么egrep会匹配”Hello”、“HELLO”等不同大小写形式的字符串。
2. -v该选项用于反向匹配,即只显示不匹配模式的行。
例如,如果模式是”hello”,那么egrep会显示所有不包含”hello”的行。
3. -r该选项用于递归搜索目录下的所有文件。
如果文件名是一个目录,则egrep会搜索该目录下的所有文件。
4. -n该选项用于显示匹配行的行号。
例如,如果文件中有多个匹配行,egrep会显示每个匹配行的行号。
5. -o该选项用于只显示匹配模式的部分。
例如,如果模式是”hello”,那么egrep会只显示匹配”hello”的部分,而不显示整行。
四、egrep的实例演示下面是一些实例演示,展示了egrep的用法和效果。
linuxgrep命令详解
linuxgrep命令详解简介grep (global search regular expression(RE) and print out the line,全⾯搜索正则表达式并把⾏打印出来)是⼀种强⼤的⽂本搜索⼯具,它能使⽤正则表达式搜索⽂本,并把匹配的⾏打印出来。
Unix的grep家族包括grep、egrep和fgrep。
egrep和fgrep的命令只跟grep有很⼩不同。
egrep是grep的扩展,⽀持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表⽰回其⾃⾝的字⾯意义,不再特殊。
linux使⽤GNU版本的grep。
它功能更强,可以通过-G、-E、-F命令⾏选项来使⽤egrep和fgrep的功能。
grep常⽤⽤法[root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename选项与参数:-a :将 binary ⽂件以 text ⽂件的⽅式搜寻数据-c :计算找到'搜寻字符串'的次数-i :忽略⼤⼩写的不同,所以⼤⼩写视为相同-n :顺便输出⾏号-v :反向选择,亦即显⽰出没有'搜寻字符串'内容的那⼀⾏!--color=auto :可以将找到的关键词部分加上颜⾊的显⽰喔!将/etc/passwd,有出现 root 的⾏取出来# grep root /etc/passwdroot:x:0:0:root:/root:/bin/bashoperator:x:11:0:operator:/root:/sbin/nologin或# cat /etc/passwd | grep rootroot:x:0:0:root:/root:/bin/bashoperator:x:11:0:operator:/root:/sbin/nologin将/etc/passwd,有出现 root 的⾏取出来,同时显⽰这些⾏在/etc/passwd的⾏号# grep -n root /etc/passwd1:root:x:0:0:root:/root:/bin/bash30:operator:x:11:0:operator:/root:/sbin/nologin在关键字的显⽰⽅⾯,grep 可以使⽤ --color=auto 来将关键字部分使⽤颜⾊显⽰。
Linux命令高级技巧使用grep命令进行多行匹配
Linux命令高级技巧使用grep命令进行多行匹配在Linux系统中,grep是一种强大的命令行工具,用于在文本中查找特定的模式。
它是“Global Regular Expression Print”的缩写,可以根据正则表达式来搜索和过滤文本内容。
除了简单的单行匹配,grep还支持多行匹配,可以使用一些高级技巧来达到更复杂的搜索目的。
1. 基本语法grep的基本语法如下:```shellgrep [选项] 模式文件```其中,选项是可选的,模式是要搜索的内容,文件是要搜索的文件名。
2. 多行匹配在默认情况下,grep是逐行搜索的,即每一行都被独立处理。
如果需要进行多行匹配,可以使用以下高级技巧:- `-z`选项:当使用`-z`选项时,grep将整个文件作为一个长字符串进行处理,可以跨越多行进行匹配。
- `pcregrep`命令:`pcregrep`是grep的一个变种版本,支持Perl兼容的正则表达式。
它提供了更强大的多行匹配功能。
例如,可以使用`pcregrep -M`命令来进行多行匹配。
下面是一个示例,演示了如何使用grep进行多行匹配:假设有一个包含日志信息的文件,我们想要提取出包含特定错误信息的日志段落:```shellgrep -z "Error:.*\n.*\n" logfile.txt```在上述命令中,`-z`选项将整个logfile.txt文件作为一个长字符串进行处理。
模式"Error:.*\n.*\n"表示匹配以"Error:"开头的行,并且该行后面的两行也要匹配上,因此实现了多行匹配。
3. 利用上下文进行匹配除了多行匹配之外,grep还支持利用上下文进行匹配,即通过指定前后的文本内容来锁定匹配。
这可以使用以下选项来实现:- `-A NUM`选项:匹配后输出包括匹配行和指定行数的后续行。
- `-B NUM`选项:匹配前输出包括匹配行和指定行数的前续行。
grep和find的区别详解
grep和find的区别? grep 都有哪些用法?grep 和 find 是在 Unix 和类 Unix 系统中经常使用的两个命令,它们在文件搜索和处理方面都有很强的功能,但它们的使用方式和目的有显著的区别。
grepgrep 命令用于在文本文件中搜索特定的字符串模式。
它的名称来自于“global regular expression print”,意味着它会打印出与给定正则表达式匹配的所有行。
grep 的基本用法:简单搜索:搜索文件中含有特定字符串的行。
bashgrep 'pattern' filename多个文件搜索:在多个文件中搜索特定字符串。
bashgrep 'pattern' file1 file2 file3忽略大小写:使用 -i 选项。
bashgrep -i 'pattern' filename显示行号:使用 -n 选项,显示匹配行的行号。
bashgrep -n 'pattern' filename反向匹配:使用 -v 选项,显示不匹配指定模式的行。
bashgrep -v 'pattern' filename递归搜索:使用 -r 或 -R 选项,递归地在目录及其子目录中搜索。
bashgrep -r 'pattern' directory/只显示匹配的文件名:使用 -l 选项。
bashgrep -l 'pattern' *显示匹配项周围的行:使用 -A, -B, 和 -C 选项。
bashgrep -A 3 'pattern' filename # 显示匹配行及其后的3行grep -B 2 'pattern' filename # 显示匹配行及其前的2行grep -C 1 'pattern' filename # 显示匹配行及其前后各1行使用扩展正则表达式:使用 -E 选项或 egrep。
