linux高级应用第九章-正则表达式
笔记部分
基础正则表达式:
^ 第1个符号 ,以什么什么开头 ^m
$ 第2个符号,以什么什么结尾 m$ ,还表示空行,或空格,可以用cat -An 试一下
^$ 第3个符号,空行 什么符号都没有
. 第4个符号,表示任意 “一个字符”
\ 第5个符号, 转义字符不解析特殊符号的含义 , \n 相当于回车键 , \t 相当于tab键
* 第6个符号,表示前一个字符连续出现了0次或0次以上
.* 第7个符号,表示任意字符,包括空行,正则表达式表示所有或连续出现的。
[ ] 第8个符号,中括号,中括号内每次查找一个字符。
[^] 第9个符号,[^acb] , 表示排除 a,b,c
扩展正则表达式:
+ 第10个符号,表示前一个字母连续出现1次或1次以上
扩展正则表达式:
+ 第10个符号,表示前一个字母连续出现1次或1次以上
| 第11个符号,(竖线)表示 " 或者 " 的意思
() 第12个符号,(小括号)表示一个整体 反向引用 / 后向引用
例如:sed -r 's#(..)(..)(..)#\1<(\2)>\3#g' ##后向引用
{} 第13个符号,{n,m} 前一个字符至少连续出现N次,最多连续出现m次
a{1,10} ##表示 a最少连续出现1次,最多连续出现10次
grep 参数:
-E 等于 egerp
-n 显示行号
-i 不区分大小写
-o 只输出匹配的内容
sed 参数:
-n 指定行号
r 支持扩展正则表达式
's#123#456#g' 表示把123 替换成456
awk 参数:
-F 指定分隔符
NR 表示行号
$ 表示取某一列
习题:
1.正则表达式的作用是什么
通过特殊符号,实现快速查找,删除,替换某个特定字符串
2.列出Linux习题中支持正则表达式的命令工具,并说其支持的正则表达式类型
grep与sed支持基础正则表达式,egrep,awk支持扩展正则表达式
3.Linux系统下执行'grep -n 'sh[io]r' wtxt.txt‘命令的作用是什么
找出test.txt文件中关键字shirt,或,short
5.Linux系统下执行“egrep -n 'a(xyz)+c' test.txt”命令的作用是什么
6.使用扩展正则表达式如何过滤掉yum.conf文件中的空行与“#”号注释的行
7.Linux系统下执行“sed -n ’/\<wood\>/p`test.txt命令的作用什么”
8.Linux系统下执行“sed /the/s/o/O/g test.txt 命令的作用是什么
9.简述awk命令的工作原理

10Linux系统下执行“awk -F:‘/bash$/ {print |"wc -l"} /etc/passwd’”命令的作用是什么
11.sshd_config文件中“listenaddress 172.16.16.22”与“usedns no”配置项的作用分别是什么
监听地址为172.16.16.22,不开启dns反向解析
12.ssh -p 2345 jerry@172.16.16.22命令中-p选项的作用是什么
指定端口
13.Linux系统中tcp wrappers机制对应的允许,拒绝策略文件分别是什么
/etc/hosts.allow和/etc/hosts.deny
linux高级应用第九章-正则表达式的更多相关文章
- 鸟哥的Linux私房菜——第九章
视频链接,推荐看B站 土豆网:http://www.tudou.com/programs/view/XmMDbjJHJC8 B站:http://www.bilibili.com/video/av966 ...
- 鸟哥的linux私房菜——第九章学习(vim编辑器)
第九章vim编辑器 1.0).vi与vim Linux下文本界面的文书编辑器通常会有常常听到的就有: emacs, pico, nano, joe, 与 vim 等等. vi的优势: 所有的 Unix ...
- 【读书笔记】C#高级编程 第九章 字符串和正则表达式
(一)System.String类 System.String是一个类,专门用于存储字符串,允许对字符串进行许多操作.C#提供了关键字string和相关的语法,以便使用这个类更轻松. 例子: 使用运算 ...
- Linux 笔记 - 第十一章 正则表达式
博客地址:http://www.moonxy.com 一.前言 正则表达式(英语为 Regular Expression,在代码中常简写为 regex.regexp 或 RE),是使用单个字符串来描述 ...
- Linux学习笔记(第九章)
压缩概念: gzip和zcat: 先进版bzip2,bzcat bzip -d 已压缩文档名 bzip -z 需压缩文档名 bzcat 解压文档打印到屏幕 tar:打包指令 注意:压缩最好拿掉根目录 ...
- Knockout应用开发指南 第九章:高级应用举例
原文:Knockout应用开发指南 第九章:高级应用举例 1 Contacts editor 这个例子和微软为演示jQuery Data Linking Proposal例子提供的例子一样的提供的 ...
- 第九章:Python高级编程-Python socket编程
第九章:Python高级编程-Python socket编程 Python3高级核心技术97讲 笔记 9.1 弄懂HTTP.Socket.TCP这几个概念 Socket为我们封装好了协议 9.2 cl ...
- JavaScript高级程序设计:第九章
第九章 一.使用能力检测 能力检测的目标不是识别特定的浏览器,而是识别浏览器的能力.能力检测的基本模式如下: if ( object.propertyInQuestion ) { //使用object ...
- 《linux就该这么学》第十一节课: 第九章,网卡绑定与sshd服务
8.4.服务的访问控制列表 TCPwrappers是RHEL7中默认启用的流量监控程序,能够对服务做出允许或拒绝. TCPwrappers服务由两个文件控制: /etc/hosts.allow ...
随机推荐
- .NET Core+WebApi+EF访问数据新增用户数据
新建一个.NET Core项目,我使用的IDE是VS2019 依次创建三个Core类库:第一个命名api.Model,第二个api.Common,第三个api.Bo 解释一下这个三类库的作用: 第一个 ...
- 算法竞赛进阶指南--lowbit运算,找到二进制下所有是1的位
// lowbit运算,找到二进制下所有是1的位 int H[37]; // 预处理 for (int i = 0; i < 36; i++) H[(1ll << i) % 37] ...
- 程序员最喜欢用的在线IDE代码编译器,什么?你竟然不知道!
1.网址https://tech.io/snippet 支持 20+ 种编程语言,页面上没有杂七杂八的东西,非常简约,非常干净,另外,它上面的代码段还可以嵌入到网页之中. 2.网址 https://w ...
- 洛谷P1122 最大子树和 树形DP初步
小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在课后留在教室向老师请教一些问题.一天他早晨骑车去上课,路上见到一个老伯正在修剪花花草草,顿时想到了一个有关修剪花卉的问题.于是当日课后,小明就向老师提 ...
- keras-深度学习处理文本数据
深度学习用于自然语言处理是将模式识别应用于单词.句子和段落,这与计算机视觉是将模式识别应用于像素大致相同.深度学习模型不会接收原始文本作为输入,它只能处理数值张量,因此我们必须将文本向量化(vecto ...
- P4168 蒲公英
神仙分块,把减写成加调了半小时.. 不过这题也启示我们其实有的分块题要把多个块的信息拿到一起维护 以前做的都是每个块的信息单独维护 写的分块题还不太多,同时维护一个块的左右边界好像有点冗余,不过这样代 ...
- 美团分布式ID生成框架Leaf源码分析及优化改进
本文主要是对美团的分布式ID框架Leaf的原理进行介绍,针对Leaf原项目中的一些issue,对Leaf项目进行功能增强,问题修复及优化改进,改进后的项目地址在这里: Leaf项目改进计划 https ...
- 超简单笔记本改造nas--一个萌新的摸爬滚打
最近好久没更新,你们有没有想我啊(手动滑稽)咳咳,言归正传,如同标题,最近闲来无事,打算利用家里的闲置笔记本电脑搭建一个nas.**注意:本文不涉及群晖以及相关专业NAS服务供应商!!!**nas分两 ...
- [hdu5392 Infoplane in Tina Town]置换的最小循环长度,最小公倍数取模,输入挂
题意:给一个置换,求最小循环长度对p取模的结果 思路:一个置换可以写成若干循环的乘积,最小循环长度为每个循环长度的最小公倍数.求最小公倍数对p取模的结果可以对每个数因式分解,将最小公倍数表示成质数幂的 ...
- 用python爬了厦门人才网的.net岗位
为了看看.net的就业行情怎么样,用python爬取了厦门人才网.net岗位的信息,话不多说上代码,python没学多久,如果有什么不妥请指正 import requests from bs4 imp ...