grep和rgrep和fgrep

Linux环境下。

(1)grep对标签元字符的表示。

[[email protected]:practice] grep ‘w\(es\).*\1‘ text
northwest NW Charles Main 3.0 .98 3 34
[[email protected]:practice] grep -E ‘w\(es\).*\1‘ text
grep: Invalid back reference
[[email protected]:practice] grep -E ‘w(es).*\1‘ text
northwest NW Charles Main 3.0 .98 3 34
[[email protected]:practice] egrep  ‘w(es).*\1‘ text
northwest NW Charles Main 3.0 .98 3 34

(2)grep对锚定单词的元字符的表示。

[[email protected]:practice] grep ‘\<no\>‘ text
no one
no no123
[[email protected]:practice] grep -E ‘\<no\>‘ text
no one
no no123
[[email protected]:practice] egrep  ‘\<no\>‘ text
no one
no no123 

(3)对重复作用的元字符的表示。

[[email protected]:practice] grep ‘\.[0-9]\{2\}[^0-9]‘ text
northwest NW Charles Main 3.0 .98 3 34
northwest NW Charles Main 3.0 .98 3 34
[[email protected]:practice] grep -E ‘\.[0-9]{2}[^0-9]‘ text
northwest NW Charles Main 3.0 .98 3 34
northwest NW Charles Main 3.0 .98 3 34
[[email protected]:practice] egrep ‘\.[0-9]{2}[^0-9]‘ text
northwest NW Charles Main 3.0 .98 3 34
northwest NW Charles Main 3.0 .98 3 34

(4)Unix环境下,(Solaris egrep)

# egrep ‘\.[0-9]{2}[^0-9]‘ datafile
<no output; not recognized with or without backslashes>

说明
1 扩展元字符{}用来表示重复。除非在前面加上反斜杠,否则Gnu 和UNIX 版本的正规grep 无法
识别这个扩展元字符。该正则表达式的意思是:搜索这样的行,该行包含这样的字符串,第一个
字符是一个点号\.,紧跟着一个0~9之间的数字[0-9],如果该字符串重复两次\{2\},则后面就是
一个非数字的字符[^0-9]。
2 若使用扩展grep或者grep -E选项,则在表示重复的元字符{2}的括号前面就不需要加反斜杠了。
3 因为Gnu 版本的egrep 跟grep -E的功能一样,因此这个例子的结果跟前面相同。
4 这是标准的UNIX下的egrep,不论是否有反斜杠它都无法识别花括号元字符{}。

(5)rgrep的使用,跟其他grep家族成员不同,rgrep 可以递归访问目录树。rgrep 有一些命令行选项支持跟
标准的grep 一样的选项。

[[email protected]:practice] grep "hello" text
adfdfdfdfddhellodffdf
adfdfdfdfddhellodffdf
adfdfdfdfddhellodffdf
adfdfdfdfddhellodffdf
adfdfdfdfddhellodffdf
hello word
hello word
hello berry!Good morning,every one!
hello berry!Good morning,every one!
hello berry!Good morning,every one!
hello word
hello berry!Good morning,every one!
hello berry!Good morning,every one!
hello word
hello berry!Good morning,every one!
hello word
hello berry!Good morning,every one!
[[email protected]:practice] rgrep "hello" .
./b.txt:A hello world
./text:adfdfdfdfddhellodffdf
./text:adfdfdfdfddhellodffdf
./text:adfdfdfdfddhellodffdf
./text:adfdfdfdfddhellodffdf
./text:adfdfdfdfddhellodffdf
./text:hello word
./text:hello word
./text:hello berry!Good morning,every one!
./text:hello berry!Good morning,every one!
./text:hello berry!Good morning,every one!
./text:hello word
./text:hello berry!Good morning,every one!
./text:hello berry!Good morning,every one!
./text:hello word
./text:hello berry!Good morning,every one!
./text:hello word
./text:hello berry!Good morning,every one!
./dir1/a.txt:hello

(6)fgrep 的命令行形式跟grep 相似,但是它不识别任何正则表达式元字符。所有的字符都
表示它们自己。一个插入符号就表示插入符号,一个美元符号就表示美元符号等等。-F 选项
使得Gnu grep 精确地模仿fgrep。

[[email protected]:practice] fgrep ‘[A-Z]****[0-9]..$5.00‘ text
[A-Z]****[0-9]..$5.00
[[email protected]:practice] grep -F ‘[A-Z]****[0-9]..$5.00‘ text
[A-Z]****[0-9]..$5.00

(7)grep -w no text 和grep ‘\<no\>‘ text的效果是一样的,都是表示按照单词方式匹配,而不是只是作为

单词的一部分进行匹配。

[[email protected]:practice] grep ‘\<no\>‘ text
no one
no one
no no123
[[email protected]:practice] grep ‘no‘ text
no one
no one
no no123
northwest NW Charles Main 3.0 .98 3 34
northwest NW Charles Main 3.0 .98 3 34
noone
[[email protected]:practice] grep -w "no" text
no one
no one
no no123
时间: 2024-11-01 20:30:46

grep和rgrep和fgrep的相关文章

grep与正则表达式,grep、egrep和fgrep

grep用法详解:grep与正则表达式 首先要记住的是: 正则表达式与通配符不一样,它们表示的含义并不相同!正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串.vim.grep.awk .sed 都支持正则表达式,也正是因为由于它们支持正则,才显得它们强大:1基础正则表达式grep 工具,以前介绍过.grep -[acinv]   '搜索内容串'   filename-a 以文本文件方式搜索-c 计算找到的符合行的次数-i 忽略大小写-n 顺便输出行号-v

正则表达式(grep,egrep,fgrep)

1.正则表达式概述 正则表达式又称正规表示式.正规表示法.正规表达式.规则表达式.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本. 许多程序设计语言都支持利用正则表达式进行字符串操作.正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的.正则表达式通常

15.自学Linux之路:文本处理工具grep,eprep和fgrep

文本处理工具grep,eprep和fgrep: grep:(global search regular expression and print out the line),全面搜索正则表达式,并显示相应的行 文本搜索工具:根据用户指定的文本模式对目标文件逐行搜索,显示能够被模式匹配的行 格式:grep  [options]  'PATTERN'  file,.....    文本过滤器 --color=auto:将匹配到的模式加上颜色 例:#grep  --color=auto  Boot  

grep、egrep、fgrep及正则表达式

一.介绍 grep.egrep.fgrep命令是linux常用功能非常强大的文本搜索工具,使用正则表达式来搜索文本. grep: (global search regular expression(RE) and print out the line:全文搜索正则表达式并输出.gerp使用基本正则表达式搜索,grep在文件中查找字符串时以"整行"为单位进行数据筛选的.在没有参数的情况下, 只输出符合正则表达式字符串之句子. grep的常见选项如下: -v: 逆反模示, 只输出"

Linux命令之文本搜索工具grep、egrep、fgrep

grep即global search regular expression_r(RE) and print out the line,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. grep家族包括grep.egrep和fgrep:egrep是grep的扩展:fgrep查找一个或多个与给出的字符串或词组相匹配文件中的行,不支持规则表达式 语法:grep [OPTIONS] PATTERN [FILE...] 常用参数选项 --color=auto:对匹配到的串做高亮

文本查找查找命令的grep 、egrep、fgrep用法的详解

一.学习目标 了解并能熟悉运用grep.egrep.fgrep命令. 二.学习内容 1.grep.egrep.fgrep命令的意思和用法格式 : grep:是使用基本正则表达式定义的模式来过滤文本的命令. # grep [options] PATTERN  [FILE,...] egrep  :是使用扩展正则表达式的模式来过滤文本的命令. # egrep [options] PATTERN  [FILE,...] fgrep:不支持正则表达式,是使用文字本身的意义的模式来过滤文本的命令. # f

正则表达式grep、egrep、fgrep

日期: 2015年08月27日 正则表达式: (RegularExpression,在代码中常简写为rex.regexp或RE) 正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.通常被用来检索.替换符合某个模式的文本. 正则表达式是指一类字符书写的模式(pattern)这些字符成为元字符,元字符不表示其字面意义,而用于表示通配或控制功能. 正则表达式包括两类:基本正则表达式,扩展正则表达式 grep命令只支持基本正则表达式: egrep支持扩展正则表达式("e" 表

基本正则表达式和文本处理工具之grep、egrep和fgrep

Grep(global search regular expression and print out the line全局搜索正则表达式并把行打印出来),是一种强大的文本搜索工具,egrep和fgrep的命令跟grep只有很少的差别,linux使用的是GNU版本的grep,功能非常强大,可以通过-G,-E,-F命令选项来使用egrep和fgrep的功能,grep的工作方式为在一个或多个文件中搜索字符串模板,如果模板包括空格则必须被引用,模板后的所有字符串被看做文件名,搜索的结果被送到屏幕,不影

Linux文本处理工具之grep、egrep和fgrep

一.基本概念 正在表达式:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑. grep(global search regular expression(RE) and print out the line):文本搜索工具,根据用户指定的文本模式对目标文件进行逐行搜索,显示能够被模式所匹配到的行(可以看成一个文本过滤器) egrep:使用扩展正则表达