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. AttributeError: 'WebElement' object has no attribute 'send_keys'

    这个是没问题的代码:用来打开谷歌搜索cheese并退出 from selenium import webdriver from selenium.common.exceptions import Ti ...

  2. ubuntu远程桌面、VNC(转载)

    VNC 远程桌面 配置/使用 for xfce 本贴主要目的为说明如何在windows系统下远程控制xfce桌面 Ubuntu 的默认GNOME桌面可以在系统设置中直接打开远程桌面,然后用Window ...

  3. c# usercontrol ,networkcomms3.0 Invoke总结

    1: accordionControl 添加了自定义控件页面 之后,切换到别的页面后,原先打开的页面对象还是存在的没有被销毁,再打开时重新引用即可 private void accordionCont ...

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

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

  5. Openflow的架构+源码剖析 转载

    Openvswitch的架构网上有如下的图表示: Openvswitch原理与代码分析(1):总体架构 Openvswitch原理与代码分析(2): ovs-vswitchd的启动 Openvswit ...

  6. 758B Blown Garland

    B. Blown Garland time limit per test 1 second memory limit per test 256 megabytes input standard inp ...

  7. eclipse自动添加javadoc注释

    参考文档: https://jingyan.baidu.com/article/36d6ed1f70ea9c1bce488350.html https://www.cnblogs.com/yangji ...

  8. BZOJ1977或洛谷4180 [BJWC2010]次小生成树

    一道LCA+生成树 BZOJ原题链接 洛谷原题链接 细节挺多,我调了半天..累炸.. 回到正题,我们先求出随便一棵最小生成树(设边权和为\(s\)),然后扫描剩下所有边,设扫到的边的两端点为\(x,y ...

  9. Spring 注解原理(三)@Qualifier @Value

    Spring 注解原理(三)@Qualifier @Value Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.html) 一.Aut ...

  10. 52ABP视频学习

    https://study.163.com/course/courseMain.htm?courseId=1005208064 网易视频 https://www.52abp.com/ReadWiki/ ...