grep命令 — — 可能是前十大命令之一 — — 即所有Unix用户都了解并爱 — — 并不仅仅是查找文件或命令输出中字句的好工具它可以取出一些大相径庭的个性 使你更敏捷地查找你所寻找的数据 并比它多用户所发现的 更多弹性
历史二进制提供, 不同的grep从数个密钥命令选项提供, 改变grep解释模式的方式很容易从一种搜索模式切换到另一种模式时,不同的grep命令可以像别名设置,例如:
grep='grep-E'别名fgrep='grep-F'别名plgrep='grep-P'
egrep
if you've使用egrep并fgrep系统过往,你会发现grep-E并grep-F工作你期望刚建成单可执行系统使用选项或搭建别名更容易使用
随身带E类开关grep使用扩展正则表达式表示您可以提供串表达式匹配
egrep32=绿色35=紫42=绿色背景45=紫背景92=浅绿93=黄95=浅紫102=浅绿背景103=黄背景105=浅紫背景
fgrep系统
使用-Fgrep解释模式提供固定字符串表示它不解释性任意表示式,但从字面上取用举例说,下文命令中的$不表示需要某种解释正因如此字面化,frem命令(即grep-F)运行速度略快于othergrep命令
catt.txt
文件模式
方案提供趣味益惠并使用下文示例中的指令查找文件链链串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串字符串串串串串串串串串串串串串串串串串字符串串串串串串串串串串串串串串串串字符串串串串串串串串串串串串串串串串串串串串串串串串串串字符串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串串
表示我们有一个文件颜色列表
猫色表绿色橙紫
当我们想从另一个文件选择所有含有这些颜色名称的线程时
$fgrep-f颜色表32=绿33=橙35=紫42=绿背景43=橙背景45=紫背景92=绿95=浅紫背景105=浅紫背景105
上头-f参数引导grep从指定的文件获取模式而非命令行获取模式
注意我们本可运行此特殊命令F级选项 。选择取决于你寻找什么 尽管使用F级性能稍有提高,查找stright文本时无缺陷
plgrep
更新grep实现后,你将发现的另一个选项是P级解释模式 Perl正则表达式我调用它plgrep避免混淆pgrep下示例中,你可以看到我们只匹配颜色名称 内含三个部分与颜色名称
$pgrep=SQS\SQS颜色100=深灰背景101=浅红色背景102=浅绿背景104=浅蓝背景105=浅紫背景
grep带上下文
另一项非常实用grep命令使用-A开关-B开关提供定位字符串上下文化名显示你发现行前后文件显示线似似如此我称它为Cxgrep上下文grep避免混淆grep-c开关
别名cxgrep=grep-B1-A
示例颜色文件
$crep紫色34=蓝色35=紫色36=青色44=蓝背景45=紫背景46=青色背景-94=浅蓝95=浅紫色96=绿绿绿背景-104=浅蓝背景105=浅紫背景106
grepNET
选项只看到那些线不内含特定字符串也可以很容易设置为别名然开关-v容我称它为xgrep 以强调排除指定文本
化名sgrep-grep-v
输出线省略内含barkground
$xgrep背景颜色0=默认颜色1=guste 4=guste5=反向字段7=Red32=Green33=Grane34=Blue35=Plive36=cyan37=Grey90=LightGreed91=Right92=LightGreen93=Yell94=LightBlue95=LightPlue96=Que
复元
也可以使用grep计数模式显示线数注意它不对计数多一行外观
grep-c紫色4
单行显示末字
grep-P\S+$-o颜色$grep-P\S+$-o颜色QQ
位置文件
grep-o-b紫色131:purple 271:purple417:purple586:purple
组合-Oi.-b位移选择结果我们唯一看到词“priple”, 但它们所显示的描述if we'd省略全行统计-O并看到类似的东西
126:35=紫色266.45=紫色背景 406.95=浅紫色574.105=浅紫色背景
旧grep's提供非常有用grep能力, 更多grep别名可以帮助你使用命令许多强项选择快速高效完成