鸟哥的Linux私房菜——第十五章:正规表示法
视频链接
B站:http://www.bilibili.com/video/av10364761/
目录如下
1. 前言:
2. 基础正规表示法:
2.1 以 grep 撷取字符串 (grep -iv i是忽略大小写,v是反向选择显示没有搜寻字符串的 '搜寻字符串' filename)
2.2 重要特殊字符(characters) ([] ^ $ *)
3. 延伸正规表示法: (+ ? | () )
4. 格式化打印: printf ()
5. sed 工具简介 (sed '1a ..' a新增 d删除 c取代)
6. awk 工具简介 (awk NF每一行的字段总数 NR目前在第几行 FS目前分隔符,默认是空格)
7. 文件数据比对与打印的相关功能 ()
7.1 档案比对: diff, cmp, patch (diff 旧文件 新文件 cmp -s 旧文件 新文件 cmp默认输出第一个不同点,-s输出全部 patch要利用.patch差异文件,还要在就文件夹里面)
7.2 档案打印准备: pr ()
1.grep搜寻
1. [] 里面的字母不管有几个都指一个

2.grep 反向选择^ 注意!^必须在[]里面才是反向选择

3.行首^ 行尾$

4.*

延伸正规表示法

sed

下面的几个例子都是显示结果,文件本身的内容并没有改变



那么我们如果想改变文件的内容改怎么办呢?就是加一个-i就好了
//比如我要修改vae.c这个文件,在第2行下面添加vae,也就是第3行是vae
sed -i '2a vae' vae.c //现在我又想把vae给删除了,注意是删第3行啊~
sed -i '3d' vae.c
awk

有没有发现第2 3两行是有问题的?因为2 3两行的数据有空格或者是Tab,所以在使用awk处理数据的时候要注意你的数据是不是有空格或者Tab
还要注意的是,$0指的是这一行,$1是第一列,$2是第二列...以此类推v



diff
就是比较两个文件之间的不同,常常与patch命令一起用

我改变一个文件


cmp 比较两个档案,以 位 为单位


patch 我们来讲解一个简单的用法
先把两个文件的不同写进一个文档 注意!diff 必须要加上 -Naur


pr

鸟哥的Linux私房菜——第十五章:正规表示法的更多相关文章
- 鸟哥的linux私房菜——第十六章学习(程序管理与 SELinux 初探)
第十六章.程序管理与 SE Linux 初探 在 Linux 系统当中:"触发任何一个事件时,系统都会将他定义成为一个程序,并且给予这个程序一个 ID ,称为 PID,同时依据启发这个程序的 ...
- 鸟哥的linux私房菜——第十二章学习(Shell Scripts)
第十二章 Shell Scripts 1.0).什么是shell scripts? script 是"脚本.剧本"的意思.整句话是说, shell script 是针对 shel ...
- 鸟哥的Linux私房菜——第十九章:例行命令的建立
视频链接:http://www.bilibili.com/video/av11008859/ 1. 什么是例行性命令 (分为两种,一种是周期性的,一种是突发性的)1.1 Linux 工作排程的种类: ...
- 鸟哥的Linux私房菜——第十四章:Bash Shell
视频链接:http://www.bilibili.com/video/av10094012/ 本章目录: 1. Bash shell1.1 什么是 shell ? (我们通过shell与Kernel核 ...
- 鸟哥的Linux私房菜——第十二章:档案的压缩与打包
视频链接: 土豆:http://www.tudou.com/programs/view/GncwT0FJKsQ B站(推荐):http://www.bilibili.com/video/av98857 ...
- 鸟哥的Linux私房菜——第十六章:学习Shell Scripts
视频链接:http://www.bilibili.com/video/av10565321/ 1. 什么是 Shell Script (shell写的脚本)1.1 干嘛学习 shell s ...
- 鸟哥的Linux私房菜笔记第五章,文件权限与目录配置(二)
Linux目录配置的依据--FHS 因为利用Linux来开发产品的公司太多,例如,CentOS.Ubuntu.ReHat...,导致了配置文件存放的目录没有统一的标准.后来就有了FHS(Filesys ...
- 鸟哥的Linux私房菜笔记第四章
前言 对着<鸟哥的Linux私房菜-基础版>做了简化笔记.不想让自己知其然而不知其所然.所以写个博客让自己好好巩固一下,当然不可能把书中的内容全部写下来.在这里就简化一点把命令写下来. 让 ...
- 鸟哥的Linux私房菜笔记第六章(二)
文件内容查询 直接查询文件内容 查阅一个文件的内容可以使用指令cat/tac/nl. # [cat|tac|nl] 文件 区别: 1.cat是直接把文件内容输出到屏幕上,并且从第一行开始输出到末行 2 ...
随机推荐
- jersey2 整合 spring + hibernate + log4j2
整合 spring jersey2 官方还未正式支持 spring4, 但网上有好多支持方案,折腾了一圈后,还是用了 spring3; pom 添加以下依赖配置 <!-- Spring --&g ...
- 【亲测有效】Nodepad++/Sublime Text3中Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level解决策略
我在开发游戏的时候,发现一个python脚本,本来都运行好好的,然后写了几行代码,而且也都确保每行都对齐了,但是运行的时候,却出现语法错误: IndentationError: unindent do ...
- 我的小游戏上线海外AppStore完整流程心得
1,购买一台Mac或者用VMWare 安装Mac OS流程,笔者使用VMWare. 先安装Mac OS 10.13,教程,成功后不要着急安装vmtools, 首先更新系统至最新版,因为真机测试往往需要 ...
- VC++ 屏蔽掉警告
使用VC6.0在开发程序的时候经常会遇到很多警告,很麻烦,也很耽误时间,可以使用如下方法屏蔽掉警告 在StdAfx.h 中 #define VC_EXTRALEAN 下面增加:#pragma warn ...
- JAVA每日一旅
1.关于final关键字 final修饰的成员变量为基本数据类型时,在赋值之后无法改变.当final修饰的成员变量为引用数据类型时,在赋值后其指向地址无法改变,但是对象内容还是可以改变的. final ...
- “Linux内核分析”实验一报告
张文俊 + 原创作品转载请注明出处 + <Linux 内核分析> MOOC 课程 实验要求: 1.总结部分要求阐明自己对“计算机是如何工作的”理解: 2.博客中需要使用实验截图: 实验内容 ...
- [转]JAVA 在main中访问内部类、方法等
1.使用静态的属性.方法.内部类 class A { static int i = 1; // A 类的静态属性 static void outPut() // A 类的静态方法 { System.o ...
- Tomcat下bootstrap启动分析
"C:\Program Files\Java\jdk1.7.0\bin\javaw.exe" -agentlib:jdwp=transport=dt_socket,suspend= ...
- [转帖]"微信支付"勒索病毒制造者被锁定 传播、危害和疫情终极解密 --- 可以学习下一年火绒团队的分析原理的精神.
"微信支付"勒索病毒制造者被锁定 传播.危害和疫情终极解密 https://www.cnbeta.com/articles/tech/794851.htm 12月1日,首个要求&q ...
- [转帖] 一文看懂:"边缘计算"究竟是什么?为何潜力无限?
一文看懂:"边缘计算"究竟是什么?为何潜力无限? 转载cnbeta 云计算 雾计算 边缘计算... 知名创投调研机构CB Insights撰文详述了边缘计算的发展和应用前景 ...