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

一、学习目标

了解并能熟悉运用grep、egrep、fgrep命令。

二、学习内容

1、grep、egrep、fgrep命令的意思和用法格式 :

grep:是使用基本正则表达式定义的模式来过滤文本的命令。

# grep [options] PATTERN  [FILE,...]

egrep  :是使用扩展正则表达式的模式来过滤文本的命令。

# egrep [options] PATTERN  [FILE,...]

fgrep:不支持正则表达式,是使用文字本身的意义的模式来过滤文本的命令。

# fgrep [options] PATTERN[FILE,...]

注:PATTREN:  文本字符和正则表达式的元字符组合而成的匹配条件

2、grep命令常用的option

-i : 忽略字符的大小写

--color: 对pattern的内容加上颜色

-v:显示没有被匹配的行

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

-E:使用扩展的正则表达式 ==egrep

-F:==fgrep

-A n: 同时显示被pattern的内容的后n行

-B n:同时显示被pattern的内容的前n行

-C n: 同时显示被pattern的内容的前后n行

3、了解什么是正则表达式

正则表达式分为:基本正则表达式和扩展正则表达式

(1)基本正则表达式有 :

字符匹配:

. :表示匹配任意单个字符

[] :表示匹配指定范围内的任意单个字符

[^]:表示指定范围之外的任意单个字符

[:space:]: 空白字符

[:punct:]:标点符号

[:lower:]:小写字母

[:upper:]:大写字母

[:alpha:]:大小写字母

[:digit:]:数字

[:alnum:]:数字和大小写字母

匹配次数:

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

.*:匹配前面字符任意长度和任意次数

\? :匹配前面的字符一次或0次

\{m,n\}:匹配前面字符至少m次,至多n次

位置锚定:

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

$:锚定行尾,此字符前面的任意内容必须出现在行尾

^$:空白行,

\<:其后面的内容必须作为单词的首部出现

\>: 其前面的内容必须作为单词的尾部出现

分组:

\(\) : 将括号的内容作为一个整体

\1 : 指第一个左括号和与之对应的右括号的所有内容

\2: 指第二个左括号和与之对应的右括号的所有内容

.....

(2)扩展的正则表达式:

字符匹配:(与基本的正则表达式中的相同)

次数匹配:

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

?:匹配前面的字符一次或0次

+:匹配前面字符至少一次

{m,n}:匹配前面字符至少m次,至多n次

锚定匹配:(与基本的正则表达式中的相同)

分组: ():把括号里的内容作为一个整体  \1 \2 \3 ....

或者:   | :表示或者

4、命令的使用演示

----------------------------------------------------------------------

1、显示/proc/meminfo文件中以不区分大小的s开头的行;

2、显示/etc/passwd中以nologin结尾的行;

取出默认shell为/sbin/nologin的用户列表

取出默认shell为bash,且其用户ID号最小的用户的用户名

3、显示/etc/inputrc中以#开头,且后面跟一个或多个空白字符,而后又跟了任意非空白字符的行;

4、显示/etc/passwd中包含了:一个数字:(即两个冒号中间一个数字)的行;

5、显示/boot/grub/grub.conf文件中以一个或多个空白字符开头的行;

7、找出/proc/cpuinfo文件中的,1位数和2位数

8、找出ifconfig命令结果中的1-255之间的整数;

9、查找当前系统上名字为student(必须出现在行首)的用户的帐号的相关信息,  文件为/etc/passwd

11、显示所有以小写字母开头且数字结尾且文件名中不包含空白的文件;

如果大家看了这文章觉得有问题,欢迎提出来,也欢迎大家来一起讨论,一起提高!

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

时间: 2024-11-07 05:38:52

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

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的使

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

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

grep, egrep, fgrep笔记

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

五. 正则表达式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

设计模式 - 命令模式(command pattern) 宏命令(macro command) 详解

命令模式(command pattern) 宏命令(macro command) 详解 本文地址: http://blog.csdn.net/caroline_wendy 参考: 命名模式(撤销): http://blog.csdn.net/caroline_wendy/article/details/31419101 命令模式可以执行宏命令(macro command), 即多个命令的组合操作. 具体方法:  1. 其余代码与命令(撤销)一致 2. 添加宏命令(macro command),

【Linux相识相知】文本处理工具之grep\egrep\fgrep及正则表达式

常说Linux上有文本处理的三剑客,grep.sed和awk,本文就grep做出详细的描述,并引出正则表达式. grep NAME:打印模式匹配的行 SYNOPISIS: grep [OPTIONS] PATTERN [FILE...] grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...] 常用选项: --color=auto:对匹配到的文本着色后进行高亮显示,默认已被别名alias grep='grep --color=auto' -i:忽略字符的大小