Linux学习(2)- 正则表达式基础

一、基础正则表达式介绍与练习

学习内容

  • 正则表达式特殊符号
[:alnum:]代表英文大小写字母及数字
[:alpha:]代表英文大小写字母
[:blank:]代表空格和 tab 键
[:cntrl:]键盘上的控制按键,如 CR,LF,TAB,DEL
[:digit:]代表数字
[:graph:]代表空白字符以外的其他
[:lower:]小写字母
[:print:]可以被打印出来的任何字符
[:punct:]代表标点符号
[:upper:]代表大写字符
[:space:]任何会产生空白的字符如空格,tab,CR 等
[:xdigit:]代表 16 进位的数字类型

作业

  • 使用```

grep -n '[(上面的内容)]' XXX.txt


![](http://images2015.cnblogs.com/blog/830327/201706/830327-20170628102432321-2090522561.png) ## 二、[grep 命令与正则表达式](https://www.shiyanlou.com/courses/90/labs/780/document) - 实验文档讲解的已经十分清楚,若有记得不清楚的直接查看即可,所以直接链接,博客里就摘抄一下总结。

总结:

^word 表示带搜寻的字符串(word)在行首

word$ 表示带搜寻的字符串(word)在行尾

.(小数点) 表示 1 个任意字符

\ 表示转义字符,在特殊字符前加\会将特殊字符意义去除

  •    表示重复 0 到无穷多个前一个 RE(正则表达式)字符

[list] 表示搜索含有 l,i,s,t 任意字符的字符串

[n1-n2] 表示搜索指定的字符串范围,例如[0-9] [a-z] [A-Z]等

[^list] 表示反向字符串的范围,例如[0-9]表示非数字字符,[A-Z]表示非大写字符范围

{n,m} 表示找出 n 到 m 个前一个 RE 字符

{n,} 表示 n 个以上的前一个 RE 字符


参数说明: -a :将 binary 档案以 text 档案的方式搜寻数据 -c :计算找到 '搜寻字符串' 的次数 -i :忽略大小写的不同,所以大小写视为相同 -n :顺便输出行号 -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行! ### 作业 - 使用-n和不使用的区别 ![](http://images2015.cnblogs.com/blog/830327/201706/830327-20170628102450696-1766708683.png) - 一些练习: ![](http://images2015.cnblogs.com/blog/830327/201706/830327-20170628102746821-1603049102.png) ![](http://images2015.cnblogs.com/blog/830327/201706/830327-20170628102748477-365529227.png) ## 三、[正则表达式运用之 sed 工具命令](https://www.shiyanlou.com/courses/90/labs/781/document) 在iterm中```
nl regular_express.txt | sed '2a hello\n20155205'
```会出错 ![](http://images2015.cnblogs.com/blog/830327/201706/830327-20170628104957539-740657807.png) 但是```
nl regular_express.txt | sed '2d'
```却是正确的 ![](http://images2015.cnblogs.com/blog/830327/201706/830327-20170628104959664-366417462.png) 查找了很多,还是不会怎么弄。。。 - 总结了一下感觉还是要自己多用多练才能熟练,此外因为我的事mac系统,所以有些命令和实验楼讲的不一样,自己也要多摸索。 ## 参考资料 - [Shell正则表达式之grep、sed、awk实操笔记](http://www.jb51.net/article/54961.htm)
- [sed命令](http://man.linuxde.net/sed)

Linux学习(2)- 正则表达式基础的更多相关文章

  1. Linux学习之01_基础命令介绍

    初学Linux,还在摸索中,在这个过程中希望能记录下学习到的东西,参考的的书籍为<鸟哥的Linux私房菜> 在这里学到的主要命令有这几个: data cal bc man shutdown ...

  2. Scala学习笔记--正则表达式基础知识、如何在scala内使用

    正则表达式语法:https://msdn.microsoft.com/zh-cn/library/ae5bf541(VS.80).aspx 基础知识:正则表达式30分钟入门教程 http://www. ...

  3. Linux 学习 (九) 网络基础

    Linux网络管理 学习笔记 ISO/OSI 七层模型 ISO :国际标准化组织 OSI :开放系统互联模型 应用层.表示层.会话层服务于用户 传输层.网络层.数据链路层.物理层服务于实际数据传输 帧 ...

  4. Linux学习系列——零基础开始

    第一部分 Linux基础命令 1.查看系统信息命令 2.Linux内核版本 3.修改环境变量

  5. Linux学习-延伸正则表达式

    grep 默认仅支持基础正则表达式,如果要使用延伸型正则 表达式,你可以使用 grep -E , 不过更建议直接使用 egrep !直接区分指令比较好记忆!其 实 egrep 与 grep -E 是类 ...

  6. linux/linux学习笔记-Shell基础(mooc)

    一.shell概述 shell根据ascII表,将命令翻译为0101...传给内核执行. 内核->shell翻译为命令->用户(操作的界面就是shell,shell=翻译官) linux标 ...

  7. linux 学习随笔-shell基础知识

    1:用户的shell历史命令保存在home/username/.bash_history中 #!!  执行用户的上一条命令 #!pw  执行命令历史中最近一次以pw开头的命令 2:'*'来匹配零或多个 ...

  8. Linux学习笔记之——基础命令学习

    1.find 按照名字查找:find / -name file_name   2.zip压缩 1) 我想把一个文件repartition.txt和一个目录invader压缩成为amateur.zip: ...

  9. linux 学习10 shell 基础

    10.1 Shell概述 .Shell是什么 Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动.挂起.停止甚至是编写一 ...

  10. Linux学习之路-基础入门 20191104

    1.计算机组成 2.开发接口标准 ABI--(Application Binary Interface) ABI描述了应用程序与OS之间的底层接口,允许编译好的目标代码在使用兼容ABI的系统中无需改动 ...

随机推荐

  1. composer ip2city配置

    //根据ip获取地址信息composer require "mylukin/ip2city: dev-master" // vendor/mylukin/ip2city/src/I ...

  2. ES5/6/7

    ECMAScript(js语言规范) ###ES5 1.   严格模式 运行模式: 正常(混杂)模式与严格模式 应用上严格模式: ‘strict mode’ 2.JSON对象 * JSON.strin ...

  3. vue总结2

    1. 给router-link添加事件 之前用v-link 现在用 router-link 添加事件要用原生的.native修饰v-on <my-component v-on:click.nat ...

  4. mysql 添加外键

    create table class( cid tinyint unsigned primary key auto_increment, caption varchar(15) not null)en ...

  5. PHP 根据两点的坐标计算之间的距离

    define('PI',3.1415926535898); define('EARTH_RADIUS',6378.137); //计算范围,可以做搜索用户 function GetRange($lat ...

  6. Android开发之动态设置字体的样式和粗细

    字体设置通常有两种形式: 1:在xml中直接设置 android:textStyle="bold" android:typeface="sans" 2:用jav ...

  7. python自学开始

    95年工科女一枚 java工程师算不上,只能说从事java开发相关的工作,由于对Python有着极其浓厚的兴趣,一周时间了解大概之后,决定从今天开始见缝插针自学Python,为了防止本人三天打鱼两天晒 ...

  8. Linux下查看系统启动 、运行以及安装时间

    1.uptime命令  例子显示已启动13天 当前用户一个 [root@localhost-live version-build-related]# uptime :: up days, :, use ...

  9. CButtonST|CUniButton等按钮类的使用

    CButtonST CButtonST类的使用参考链接:http://www.cnblogs.com/lidabo/archive/2012/12/17/2821122.html CCeButtonS ...

  10. python 读取xml

    #!/usr/bin/python # -*- coding: UTF- -*- from xml.dom.minidom import parse import xml.dom.minidom # ...