linux三剑客---grep,sed,awk与正则表达式

grep命令:

grep全称:Global Regular Expression Print,即全面搜索正则表达式并把行打印出来,通过参数-E可以使用egrep的功能

grep与egrep的区别:在于grep只支持基础正则表达式,而egrep可以支持扩展的正则表达式

常用用法:

[[email protected] ~]# grep [-acinv] [--color=auto] ‘搜寻字符串‘ filename
选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 ‘搜寻字符串‘ 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串‘ 内容的那一行!
--color=auto :可以将找到的关键词部分加上颜色的显示喔!

高级参数:

-A:后面加数字,为after的意思,除了列出该行外,后续的n行也列出来
-B:后面加数字,为befer的意思,除了列出该行外,前面的n行也列出来
--color=auto:可将正确的那个选取数据列出颜色

例:[[email protected] tmp]# grep -A2 -B2 "this" regular_express.txt
apple is my favorite foody
Football agame is not use feet only
this dress doesn‘t fit me.
go!go!let‘s go!!!
42500000491

正则表达式:

简单来说,正则表达式就是处理字符串的方法,以行为单位来进行字符串的处理行为;正则表达式通过一些特殊符号的辅助,让用户可以轻易达到查找,删除,替换某特定字符串的处理程序

^word 搜索以word为行首的那一行
word$ 搜索以word为行尾的一行
.
代表且只能代表任意一个字符


\

转义符号
* 表示重复0个或多个前面的字符(linux其他地方表示所有,例*.php,表示所有后缀名为php的文件)
.*
匹配所有字符

^.*
以任意字符开头的内容

[word] 匹配word中任意一个字符存在的行
[^word]
匹配不包含^后任意字符的所有内容

\{n,m\} 匹配前一个字符重复次数n到m次的前一行【\为转义符号,如果用egrep可以去掉斜线】
\{n,\} 匹配前一个字符重复次数至少n次的前一行
\{n\} 匹配前一个字符重复次数为n次的那一行
例1:
[[email protected] tmp]# grep "^th" regular_express.txt
this dress doesn‘t fit me.

例2:
[[email protected] tmp]# grep "y$" regular_express.txt
"open source" is a good mechanism to devolop programsy
apple is my favorite foody

例3:

[[email protected] tmp]# grep "425.0" regular_express.txt
  42500000491
  425000491

例4:

[[email protected] tmp]# grep "\." regular_express.txt
this dress doesn‘t fit me.【如果只是“.”,将会匹配全部】

例5:

[[email protected] tmp]# grep "4250*49" regular_express.txt
42500000491
425491
425000491

例6:

[[email protected] tmp]# grep [aeo] regular_express.txt
"open source" is a good mechanism to devolop programsy
apple is my favorite foody
Football agame is not use feet only
this dress doesn‘t fit me.
go!go!let‘s go!!!

例7:
[[email protected] tmp]# grep ‘0\{3,\}‘ regular_express.txt
42500000491
425000491

扩展的正则表达式

+
表示重复一个或多个前面的字符

0个或1个字符
|
用或的方式查找多个符合的字符串

() 找出”组”字符串(例如找出glad或glod两个字符串,grep ‘g(la|lo)d‘ regular_express
()+ d多个重复组的判别

原文地址:https://www.cnblogs.com/xqr2018/p/8902451.html

时间: 2024-11-08 02:31:20

linux三剑客---grep,sed,awk与正则表达式的相关文章

Linux三剑客grep/sed/awk

grep/sed/awk被称为linux的“三剑客” grep更适合单纯的查找或匹配文本: sed更适合编辑匹配到的文本: awk更适合格式化文本,对文本进行较复杂各式处理: Grep --color=auto 或者 --color:表示对匹配到的文本着色显示 -i:在搜索的时候忽略大小写 -n:显示结果所在行号 -c:统计匹配到的行数,注意,是匹配到的总行数,不是匹配到的次数 -o:只显示符合条件的字符串,但是不整行显示,每个符合条件的字符串单独显示一行 -v:输出不带关键字的行(反向查询,反

六、三剑客grep/sed/awk

6.1.正则表达式  正则表达式: 是一类字符所书写出的模式(pattern):元字符:不表示字符本身的意义,用于额外功能性的描述.  1) 基本正则表达式: BRE元字符: .: 匹配任意单个字符 [char]: 匹配指定范围内的任意单个字符 [^char]:匹配指定范围外的任意单个字符 字符集合: [:digit:], [:lower:], [:upper:], [:punct:], [:space:], [:alpha:], [:alnum:] 匹配次数( 贪婪模式) : *: 匹配其前面

Linux命令-grep,sed,awk

grep (global search regular expression[RE] and print out the line) 正则表达式全局搜索并将行打印出来 在文件中查找包含字符串"text"的行 grep text local_file grep "text" local_file #另一种方式 grep "text" local_file1 local_file2 ... #查找多个文件 在文件中查找不包含字符串"text

Linux三剑客 grep、awk、seed

简介 grep:适合单纯的查找或匹配文本 sed:适合编辑文本 awk:适合格式化文本,对文本进行复杂的格式化处理 1.grep grep -help [options] -c:只输出匹配行的计数 -i:不区分大小写 -h:查询多文件是不显示文件名 -l:查询多文件时只输出包含匹配字符的文件名 -m:显示匹配行及行号 -s:不显示不存在或无匹配文本的错误信息 -v:显示不包含匹配文本的所有行 -color=auto:可以将找到的关键词部分加上颜色的显示 [pattern]正则参数含义 \:忽略正

深入浅出linux三剑客之sed必杀技一例

转 http://oldboy.blog.51cto.com/2561410/949365 缘起:上完培训课后,同学们对sed加正则处理问题的热情高涨,氛围相当好,但是,有个别同学还是有些晕乎,因此,撰写此文.此例如果搞熟练了,sed和正则的大部分常用技术你掌握起来就简单了. 如果还有不会的,老男孩就拿出最后的讲解必杀技(先保密,嘿!),同学们想不会那是不可能的,除非你们自己主动放弃,哈哈.来,开整~! 老男孩linux培训第三节课程课前第考试一题,问题如下 1.如何取得/etiantian文件

LINUX 下 find grep sed awk 的常见基本用法特点

LINUX 下 find grep sed awk 的常见基本用法特点 只为让自己具有更高的水准,这就开始了长达6个月的小白进阶路! 这几天学习linux基础命令有点犯蒙,尤其是对文件查找这块.所有我想把一些我觉得常用的实用的参数项总结下来,大神勿喷哈... 不到之处请大家指教,小女子在此谢过了. 一.find:命令用于查找文件系统中指定的文件,其命令格式为: 1.find pathname -options [ -print  -exec  -ok ... ] (1)find 命令的参数: p

grep,sed,awk与简单正则表达式应用

grep,sed,awk与简单正则表达式应用 这里使用的测试文件是linux /etc/passwd文件,最好是复制一份进行练习,方式对文件内容造成损坏.感觉还是要多练习才能很好的使用,习题这里就不贴了,网上一找一大把. grep:   -o 用作计算出现多少次字段  -c 打印符合要求的行数  -n 在输出符合要求的行的同时也打印行号  -v 打印不符合要求的行  -A 后跟一个数字 ps -A2表示打印符合要求的行及下面两行  -B 后跟一个数字 ps -B2表示打印符合要求的行及上面两行 

不看绝对后悔的Linux三剑客之sed实战精讲

二.Linux三剑客之sed命令精讲 1,前言 我们都知道,在Linux中一切皆文件,比如配置文件,日志文件,启动文件等等.如果我们相对这些文件进行一些编辑查询等操作时,我们可能会想到一些vi,vim,cat,more等命令.但是这些命令效率不高,这就好比一块空地准备搭建房子,请了10个师傅拿着铁锹挖地基,花了一个月的时间才挖完,而另外一块空地则请了个挖土机,三下五除二就搞定了,这就是效率.而在linux中的"挖土机"有三种型号:顶配awk,中配sed,标配grep.使用这些工具,我们

linux三剑客之sed史上最实用教程!

2016老男孩教育的官方博客干货不断,敬请关注! linux三剑客之sed史上最实用教程!猛戳下面地址即可观看! http://blog.oldboyedu.com/commands-sed/