grep 正则表达式

1 基础的正则表达式

1 ^word 表示搜索以word 开头的内容
  2  word$ 表示搜索以word结尾的内容
  3  ^$    表示空行,不是空格
  4  .     代表且只能代表任意一个字符
  5  \     转义字符,让着有特殊意义的字符,脱掉马甲还原本来的样子
           例如:\.只表示小数点,还原原始小数点的意义
  6  *  重复0个或多个前面的一个字符。不代表所有了。
  7 .*  匹配所有的字符 ^.* 任意多个字符开头。

grep
  -v   排除内容
  -E   扩张的正则表达式
  -i   忽略大小写
  -o   只输出匹配的内容
  --color=auto  显示颜色
  -n 在行首显示行号
  -R   递归搜索相关的字符串
 
 
  awk "NR>2 && NR<10" 2.txt   AWK 打印行  比如大于2 并且小于10 的行  利用AWK 处理行内容

一、正则表达式

正则表达式是组成“样式”的基本语法,而“样式”是运用sed和awk必备的能力。sed和awk相同的运行方式是:只要符合“样式”的数据行,就对它执行指定的“操作”。

什么是正则表达式?

正则表达式是一种描述的方法,一种小型的语言,可表示某种样式或若干种样式的组合,它的威力在于仅需几个简单的字符,便可代表许多字符串共同的样子。

1、. 代表任意字符

 .a. 代表中间为a,两边随意字符的3个字符。(若要对比.本身需要用\转义)

2、^ 代表在行首

^abc  abd应该出现在行首。"abc,hello"和"hello abc" 前者符合后者不符合

3、$ 代表在尾部

 $abc  abd应该出现在行尾。"abc,hello"和"hello abc" 后者符合前者不符合

4、[...] 字符集合

[...] 代表字符 串行中的一个字符 [aBc]代表a或B或c。[A-Z]一个大写[^A-Z]除了大写之外的一个字符。

5、*出现0个以上

a*c可以是abc、abbc、abbbc、aSJKSKBKc.....

6、\{...\}指定符合的个数

\{3,5\}前边的字符有3~5个。[a-z]\{3,5\}代表以小写字母组成的字符串,长度为3~5个

7、\(..\)把对比符合的字符串暂时保存起来

a\(..\)b要保存a、b之间的2个字符,若要提取保存的字符串,可用位置参数,\1代表第一个保存的字符串,\2代表第二个保持的字符串。

二、扩展正则表达式

RE字符  意义与范例

+       重复1个或1个以上的前一个RE字符

egrep 'go+d' file 搜寻范围是 god good goood gooood......等

?0个或1个的前一个RE字符

egrep 'go?d' file 搜寻范围 god good

|       用或(or)的方式找出字符串

egrep 'g(la|oo)d file 搜寻范围 glad good

()+     多个重复群组的判别

echo "AxyzxyzxyzxyzC" |egrep 'A(xyz)C' 意思是A开头,C结尾,中间有一个以上的"xyz"字符串的意思

注意:  !在正规表达式中不是特殊字符,如果要查包含!与<的字行时, grep '[!>]' file

[!a-z] 这样反响选择是错误的,[^a-z] 这样才是正确的。

格式化打印:printf

转载于:https://blog.51cto.com/study2008/1840964

linux 正则表达式相关推荐

  1. Linux正则表达式grep与egrep

    grep -io "http:/=[A-Z0-9]\{16\}" ./wsxf.txt >wsxf_urls.txt Linux正则表达式grep与egrep 正则表达式:它 ...

  2. 关于清晰讲解linux正则表达式的博文分享

    http://www.cnblogs.com/chengmo/archive/2010/10/10/1847287.html  linux shell 正则表达式(BREs,EREs,PREs)差异比 ...

  3. linux 正则表达式和通配符

    linux 正则表达式和通配符 通配符用于查找文件 包含三种:  * ? [] * 代表任意个任意字符 ? 代表任意一个字符 [] 代表中括号中的一个字符 正则表达式(正则是包含匹配,只要包含就可以匹 ...

  4. Linux正则表达式和文本处理工具(gred、awk、sed)

    使用Linux 的 gred.awk.sed 可以方便得处理文本,然而若要灵活使用这三个工具,首先必须理解正则表达式.这里先对正则表达式进行学习,做点记录,之后再练习一下文本处理工具的使用. 正则表达 ...

  5. 【Linux正则表达式之grepegrep】

    文章目录 Linux正则表达式 (1).✅

  6. Linux正则表达式简介

    Linux正则表达式简介 一.为什么要学习正则表达式 Linux运维操作主要面对的即是含有大量的字符串的文本,而我们也经常会迫切的需要从大量的字符串中去找到特定的文本信息,正则表达式就是为过滤这样的字 ...

  7. Linux正则表达式 --已整理

    linux正则表达式 一.linux文本查找命令 二.正则表达式介绍 基本正则表达式元字符 三.拓展正则表达式 实例 1 正则表达式 实例 2 :扩展正则表达式 在使用linux时,经常需要进行文件查 ...

  8. linux 正则表达式详解

    有关正则表达式容易混淆事项 本文讲的是Linux 系统中的正则表达式,即 Linux 正则表达式,应用正则表达式的命令就是 grep(egrep),sed,awk,注意,其他普通命令正常情况下无法使用 ...

  9. linux 通配符 正则表达式 区别,linux 正则表达式和通配符

    linux 正则表达式和通配符 通配符用于查找文件 包含三种:  * ? [] * 代表任意个任意字符 ? 代表任意一个字符 [] 代表中括号中的一个字符 正则表达式(正则是包含匹配,只要包含就可以匹 ...

  10. Linux正则表达式多个条件并,linux 正则表达式深度解析

    简介 大体来讲,正则表达式的文法分为3种标准:BRE.ERE 和 ARE.其中 BER 和 ERE 属于 POSIX 标准,ARE 则是由各家定义的扩展. POSIX 正则表达式 传统上,POSIX ...

最新文章

  1. DWR小结DWRUtil篇
  2. 忘记root密码如何处理
  3. Windows C/C++编程窗口子类化学习
  4. how SAP OData supported option in odata eq ne lt gt?
  5. Java局部变量一定要赋初值
  6. Entity Framework (EF)/Linq To entity/ ESQL(entity sql)区别 ADO.NET Entity Framework:来自微软官方的ORM框架
  7. CVPR 2019 Oral | 华科开源效果超群的人体姿态迁移算法
  8. window中使用jedis连接虚拟机中的redis
  9. 深度学习(二十一)基于FCN的图像语义分割-CVPR 2015
  10. ffmpeg下载m3u8文件
  11. win10 1803官方原版镜像
  12. 国产操作系统之优麒麟安装
  13. 解决SQL server中提示对象名无效
  14. 35岁的程序员:第14章,前奏
  15. 仿真软件proteus构建流水灯实验
  16. Python多线程实现WIFI破解
  17. 随机数函数rand()
  18. Spring Boot技术栈博客企业前后端
  19. liferay的几个配置
  20. 五年级计算机绘画作品,五年级儿童节绘画作品大全

热门文章

  1. Farseer.net轻量级开源框架 中级篇:事务的使用
  2. C#用串口接收事件接不全数据的处理
  3. 在子视图中获取父视图的控制器
  4. UILabel显示html文本
  5. Codeforces1005E1 - Median on Segments (Permutations Edition)(中位数计数)
  6. 全能文件恢复软件推荐
  7. 【数据科学系统学习】机器学习算法 # 西瓜书学习记录 [9] 决策树
  8. 关于yum使用的小技巧
  9. 特定条件下的技术团队绩效考核
  10. Android 透明颜色值ARGB