鸟哥的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 ...
随机推荐
- [LOJ#6044]. 「雅礼集训 2017 Day8」共[二分图、prufer序列]
题意 题目链接 分析 钦定 \(k\) 个点作为深度为奇数的点,有 \(\binom{n-1}{k-1}\) 种方案. 将树黑白染色,这张完全二分图的生成树的个数就是我们钦定 \(k\) 个点之后合法 ...
- Elasticsearch Query DSL 整理总结(一)—— Query DSL 概要,MatchAllQuery,全文查询简述
目录 引言 概要 Query and filter context Match All Query 全文查询 Full text queries 小结 参考文档 引言 虽然之前做过 elasticse ...
- SSIS 包配置
在商业智能解决方案中,SSIS工程有两种部署模式:工程部署(project deployment)和包部署(package deployment),默认是工程部署模式,在Package的管理上,工程部 ...
- 设计模式 笔记 解释器模式 Interpreter
//---------------------------15/04/26---------------------------- //Interpreter 解释器模式----类行为型模式 /* 1 ...
- effective c++ 笔记 (45-48)
//#45 运用成员函数模版接受所有兼容类型 { /* 1:当你使用智能指针的时候,会发生一个问题,想把一个子类的对象赋给基类的指针变得不可能了, 因为智能指针指定了的是基类的类型,而赋给它的是 ...
- stl源码剖析 详细学习笔记 RB_tree (2)
//---------------------------15/03/22---------------------------- //一直好奇KeyOfValue是什么,查了下就是一个和仿函数差不多 ...
- 微信小程序在当前页面设置其他页面的数据
如果其他页面用到的数据是 globalData, 那么直接在当前页面修改 globalData 数据即可. 如果其他页面用到的数据是 storage, 那么直接在当前页面修改 storage 数据即可 ...
- 【OpenCV学习笔记之一】图像加载,修改及保存
加载图像(用cv::imread)imread功能是加载图像文件成为一个Mat对象 其中第一个参数表示图像文件名称第二个参数 表示加载的图像是什么类型 支持常见的三个参数值IMREAD_UNCHANG ...
- 用Micro:bit做交通信号灯
交通信号灯项目在控制技术中,有点像"Hello world!" 是一个入门级的范例. 对于孩子来说,交通灯跟日常生活息息相关,他们都熟悉,充分知道需要做什么这是一个让孩子开始的好项 ...
- 人类又被AI碾压,这次是星际争霸
还记得2017年,那个血洗围棋界的“阿尔法狗”吗? 这个由谷歌旗下 DeepMind 公司开发的 AI ,对阵世界顶尖围棋选手,打出完全碾压式的战绩: AlphaGo vs. 樊麾 - 5 : ...