【Linxu学习008】grep和正则表达式

一、使用grep命令打印匹配的行

grep命令是一个文本搜索命令,能够从指定的“源”搜索匹配串所在的行并将其打印到控制台。

grep命令本身并没有什么特别需要注意的使用事项,但是由于其依赖于正则表达式,所以是一个非常复杂的命令,其重点也都在正则表达式上了。

grep常用选项:

grep 
        --color    :将匹配到的所有字符都高亮显示
        -i        :忽略大小写
        -v        :显示所有没有匹配到的行
        -o        :只显示被匹配到的串

关于正则表达式的详细使用说明在线文档:http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html

使用示例

[email protected]:~$ grep "kdyzm" /etc/passwd
kdyzm:x:1000:1000:kdyzm,,,:/home/kdyzm:/bin/bash
[email protected]:~$

二、正则表达式相关

1.

.   任意单个字符
* 表示匹配其前面的字符任意次数
\? 匹配其前面的字符次数一次或者零次
\{m,n\} 匹配其前面的字符最少m次,最多n次
\{m,\} 匹配其前面的字符最少m次
\{0,3\} 匹配其前面的字符最多三次
锚定字符,后面出现的第一个字符必须在行首
$ 锚定字符,前面出现的第一个字符必须出现再行尾
^$ 空白行
[] 匹配指定范围内的任意单个字符
[^] 匹配指定范围外的任意单个字符
\< 其后面的字符必须作为单词的首部出现
\> 其前面的字符必须作为单词的尾部出现
\b 可以使用\b代替\<或者\>
\(\) 可以将内容分组,实现分组的重要作用就是能够很方便的实现后向引用

2.一些有特殊含义的单词及其格式

[:alnum:]   [:cntrl:]   [:lower:]   [:space:]
[:alpha:]   [:digit:]   [:print:]   [:upper:]
[:blank:]   [:graph:]   [:punct:]   [:xdigit:]

三、正则表达式练习

1.打印出所有使用/bin/bash的用户名列表

[email protected]:~$ grep "/bin/bash$" /etc/passwd | cut -d: -f1
root
kdyzm
user1
[email protected]:~$

2.打印出所有使用/bin/bash同时其id最大的用户名

[email protected]:~$ grep "/bin/bash$" /etc/passwd | sort -r -n -t: -k3 
                | head -n 1 | cut -d: -f1
user1
[email protected]:~$
时间: 2024-08-25 20:47:39

【Linxu学习008】grep和正则表达式的相关文章

Linux学习之grep及正则表达式

1.grep:根据模式搜索文本,并将符合模式的文本行打印出来 使用基本正则表达式定义的模式来过滤文本的命令 grep 选项 模式(正则表达式) 参数 模式:由文本字符和正则表达式的元字符组合而成的匹配条件 -E:扩展正则表达式 -i:不区分大小写 -w:匹配整个单词 -x:匹配整行 -v:显示不匹配的行 --colour/--color:高亮显示匹配字符串 -A:打印匹配本身以及后面的几行 -B:打印匹配本身以及前面的几行 -C:打印匹配本机以后前后的几行 -o:只显示匹配到的字符串 -c:显示

Linux学习之路-grep和正则表达式的应用

grep和正则表达式的应用 Linux文本处理三剑客:        grep:文本过滤工具:        sed:文本编辑器(行):stream editor        awk:文本报告生成器:Linux上awk的实现为gawk grep: Global search REgular expression and Print out theline. 作用:文本搜索工具,根据用户指定的"模式(pattern)"逐行去搜索目标文本,打印匹配到的行: 模式:由正则表达式的元字符及文

学习之路(三)浅谈:输出重定向,grep及正则表达式,egrep

地址总线:内存寻址 数据总线:传输数据 控制总线:控制指令 > :输出重定向(会覆盖原有内容) >>: 追加重定向(不会覆盖,追加输出) 2>: 重定向错误输出 2>>: 错误追加输出 &>: 重定向标准输出或错误输出至同一文件 <: 输入重定向 <<: 此处生成文档 管道: 前一个命令的输出作为后一个命令的输入 tee: 不仅输出信息同时保存指定目录下的文件 grep及正则表达式 grep:根据模式搜索文本,并将符合模式文本行显示出来

linux学习-grep使用正则表达式示例

在linux上使用grep配合正则表达式可以产生强大的搜索的效果,由于正则表达式中含有较多的特殊字符,所以结合grep时,最好使用单引号将表达式括起来,以免造成错误.首先创建一个文件RegExp.txt,文本内容如下所示: --------TEXT BEGIN------------- good morining teacher hellp world is as script gold sunshine looks beautiful golden time files god belss m

Linux基础之文本处理工具grep及正则表达式(附带egrep与grep的不同)

文本处理工具grep,正则表达式在Linux学习过程中很容易出现困惑与障碍的地方,这里分享下学习这方面内容的一些感受. grep Global search REgular expression and Print out the line 作用:文本搜索工具,根据用户指定的'模式(过滤条件)'对目标文本逐行进行匹配检查:打印匹配到的行: '模式':由正则表达式的元字符及文本字符所编写出的过滤条件. grep [OPTIONS] PATTERN [FILE...] grep [OPTIONS]

grep及正则表达式应用总结

相信学习任何Linux Release操作系统的人都知道"正则表达式.扩展正则表达式"的重要作用,学习好如何利用"正则表达式"来达到我们想要达到的效果,这需要大量的实践.总结. 下面是我针对"正则表达式.扩展正则表达式"的一些认识和理解,不会罗列命令,只说自己的经验,所以简单的命令说明我只是罗列含义(相信你能看明白),重要的知识点,通过grep命令演示并附图解释,希望对看到DaMiHua博客的你有所帮助. 一.什么是正则表达式?扩展正则表达式?

Linux &nbsp; &nbsp; grep命令,正则表达式

grep命令及正则表达式 grep命令 grep , egrep , fgrep grep,sed,awk 文本处理三剑客 grep: Global search REgular expression and Print out the line;全面查找正则表达式并将匹配到的行显示出来; 正则表达式 正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用;许多程序设计语言都支持利用正则表达式进行字符串操作; 主流的正则引擎又分为三类:DFA;传统型NFA;POSIX NFA; DFA

grep及正则表达式 含(含断言)

grep和正则表达式 1.grep:Global search REgular expression and Print out the file 作用:文本搜索工具,根据用户指定的模式对目标文件逐行进行匹配,打印匹配到的行 模式:由正则表达式字符及文本字符编写的过滤条件 格式: grep [options] pattern file[...] --color=auto 对匹配到的文本着色显示 -v 显示不能够被pattern匹配的行 -i 忽略file中文件字符的大小写 -n 显示匹配的行号

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

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