grep,egrep,,fgrep 与正则

一、grep

grep [option] PATTERN [FILE...] 根据模式搜索文本,并将符合模式的文本行显示出来

Pattern: 文本字符和正则表达式的元字符组合而成的元字符

-i 忽略大小写

--color 匹配字符高亮 例子 grep --color ‘root‘ /etc/passwd

-v 反向显示,匹配到的不显示,显示没有匹配到的行

-o 只显示被模式匹配到的字符串

alias grep=‘grep --color‘

grep ‘root‘ /etc/passwd

二、正则表达式 Regular Expression (REGEXP)

元字符 意义不同于 globy

1).:任意单个字符

[] :任意单个字符

[^] :之外的任意单个字符

[:digit:] [:lower:] [:upter:]

[:punt:]

2)字符个数:

*:匹配其前面的字符任意次

.*:任意长度的任意字符

?:匹配其前面的字符1次或0次 需要反斜线转义

\{m,n\}:匹配之前的字符至少m次,至多N次  转义,防止命令行展开。

\{1,\}:至少1次

\{0,3\}:至多3次

3)位置锚定

^:行首,此字符后面的任意内容必须出现在行首

$:行尾。

^$:空行

\<或\b:锚定单词,后面的任意字符必须作为单词首部出现

\>或\b:前面的任意字符必须作为单词的尾部出现

4)分组

\(\)

\(ab\)* :ab出现0次或任意次

\<root\> 作为root整个单词出现

以数字结尾的行

[0-9]$ 或 grep ‘[[:digit:]]$‘ /etc/inittab

匹配以一个或多个空格加数字结尾的行

[[:space:]][0-9]$

grep ‘^r..t‘ /etc/passwd

grep ‘y$‘ 以y结束的行

grep ‘r..t‘ /etc/passwd :以r开头,以t结尾,中间有两个字符

ab,aab,acb,adb,amnb

a*b  指示 a出现任意次之后,出现了一个b

a.*b  指示 ab 中间夹了任意长度的任意字符

grep ‘a.*b‘ test.txt

默认模式下,正则匹配工作在贪婪模式下

例如ab中间加了一些字符,其中含有b,但是会匹配最后 一个b

grep ‘a\?b‘ test.txt 整个串不符合,但是局部符合也是可以匹配成功的

所以,能匹配上的有

b

ab

aab

acb

adb

amnb

amnbmnbmnb

时间: 2024-12-19 06:04:42

grep,egrep,,fgrep 与正则的相关文章

通配符和正则表达式-grep,egrep,fgrep

通配符和正则表达式-grep,egrep,fgrep 通配符和正则表达式,通配符用于文件名匹配,命令支持ls,cp,rm等;正则为通用匹配,命令支持grep,awk,sed,vi,find等.文本过滤工具grep,egrep,fgrep 通配符 *  匹配零个或多个任意字符 ?  匹配单个任意字符 [] 匹配指定范围内的一个字符,[]括号中的 字符间隔符 可以省略,如,\=:等等.举例[1:2=3,5\7] = [12357],也推荐使用这种省略写法作为标准 ^  取反,表示非.注意:非数字即包

Linux中 文本处理命令 grep egrep fgrep的使

个人见解:我认为Linux中的文本处理命令 grep egrep fgrep命令 其实只要牢牢掌握grep就可以了 因为其他两个几乎是一样的 不一样的地方也很好区分 grep 基本使用方法: 使用方法 grep [选项] '表达式' #学习的时候没好好听 不知道自己写错没 为了这篇博文的通常 我还是先不看之前学习的视频了这里的常用选项有 -o -v -i -n -A -B -C -数字 -E [email protected]:~# grep -o '^root:' /etc/passwd #-

五. 正则表达式grep, egrep, fgrep

grep,egrep,fgrep : print lines matching a pattern 1.grep : grep [options] PATTERN FILE... PATTERN由元字符和和普通字符组成 -i : --ignore-case , 忽略大小写 -o : --only-matching, 只显示所匹配到的字符,二不是整行 -n : --line-number, 输出所匹配行的行号 -v : --invert-match, 显示除匹配行外的所有行 -E : --exte

grep egrep fgrep的使用

grep命令 grep [options] PATTERN [FILE...] 通过搜索于PATTERN匹配的字段,在FILE文件中查找到匹配的字段并显示整个行. options -A num:文本后几行 # grep -A 3 "root" /etc/passwd            root:x:0:0:root:/root:/bin/bash        bin:x:1:1:bin:/bin:/sbin/nologin        daemon:x:2:2:daemon:/

grep, egrep, fgrep笔记

grep, egrep, fgrep grep: 根据模式搜索文本,并将符合模式的文本行显示出来.Pattern: 文本字符和正则表达式的元字符组合而成匹配条件 grep [options] PATTERN [FILE...]    -i:不区分大小写    --color    -v: 显示没有被模式匹配到的行    -o:只显示被模式匹配到的字符串 *: 任意长度的任意字符?: 任意单个字符[]:[^]: 正则表达式:REGular EXPression, REGEXP元字符:.: 匹配任意

文本进行搜索:grep egrep fgrep

grep名称来自于g/re/p(globally search a regular expression and print,以正规表示法进行全域查找以及打印),是一个最初用于Unix操作系统的命令行工具.在给出文件列表或标准输入后,grep会对匹配一个或多个正则表达式的文本进行搜索,并只输出匹配(或者不匹配)的行或文本. 命令名称:grep, egrep, fgrep命令作用:print lines matching a pattern命令用法:grep [OPTIONS] PATTERN [

linux基本命令grep egrep fgrep用法以及正则表达式

1.1.基本定义:  www.2cto.com grep(global search regular RE ) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它只能使用基本的正则表达式来搜索文本,并把匹配的行打印出来. grep是很常见也很常用的命令,它的主要功能是进行字符串数据的比较,然后符合用户需求的字符串打印出来,但是主意,grep在数据中查找一个字符串时,是以"整行"为单位进行数据筛选的. egrep命令等同于grep

Linux中的正则表达式 grep egrep fgrep

正则表达式: REGEXP REGuler EXPression,使用元字符和其他字符串来描述.匹配一系列符合某个句法规则的字符串.默认尽可能长得匹配(贪婪模式). 元字符: .:匹配任意单个字符(文件名通配中?表示任意单个字符) []:匹配指定范围内的单个字符 [^]:匹配指定范围外的单个字符 [:space:]:空白字符 [:puntt:]:所有标点符号 [:upper:]:所有大写字母 [:lower:]:所有小写字母 [:alpha:]:所有大小写字母 [:digit:]:所有数字 [:

【转载】grep,egrep,fgrep详解

[转载自]http://blog.csdn.net/homking/article/details/6000711 egrep 等价于 grep -E fgrep 等价于 grep -F grep -e xxx -e yyy 可以指定多个条件并且可以包含- grep -A 3  打印匹配行及匹配行前3行 grep -B 3  打印匹配行及匹配行后3行 grep -C 3  打印匹配行及匹配行前后3行 grep --color=auto 匹配项高亮  可在~/.bashrc里添加alias 这组命

文本处理工具:grep egrep fgrep

一.grep:global search regular expression and print out the line. 文本搜索工具,根据用户指定的文本模式对目标文件进行逐行搜索,显示能够被模式所匹配到的行 格式:grep [option] 'PATTERN' file1,...其中PATTERN为正则表达式. --color=auto:匹配的行高亮显示 -v:反向匹配,显示不能被模式所匹配的行 -o:仅显示被匹配的内容,而非整行 -i(ignore-case):不区分字符大小写 -A