鸟哥的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 ...
随机推荐
- Codeforces 955C Sad powers (数论)
题目链接:Sad powers 题意:给出n个l和r,求出每个给出的[l,r]之间的可以使是另外一个数的k次方的数.(k>=2) 题解:题目给出的数据范围最大是1E18所以如果要直接把所有的从1 ...
- Android 模拟输入那点事
因工作原因,需要用到模拟输入这个东东,查阅了一些资料,实现方式有多种,我大概分为两类,命令行类和程序类. 命令行类包括自动化测试组件monkeyrunner,getevent/setevent命令,i ...
- Linux+Nginx+Asp.net Core及守护进程部署
上篇<Docker基础入门及示例>文章介绍了Docker部署,以及相关.net core 的打包示例.这篇文章我将以oss.offical.site站点为例,主要介绍下在linux机器下完 ...
- grunt源码解析:整体运行机制&grunt-cli源码解析
前端的童鞋对grunt应该不陌生,前面也陆陆续续的写了几篇grunt入门的文章.本篇文章会更进一步,对grunt的源码进行分析.文章大体内容内容如下: grunt整体设计概览 grunt-cli源码分 ...
- jenkins+maven+svn+npm自动发布部署实践
一.系统版本centos7.6 二.根据jenkins官方安装方法yum安装jenkins 1.进入jenkins官网下载页面https://jenkins.io/download/,选择Red Ha ...
- HTTP2初探
背景 本文是对Google博客上文章的翻译和笔记.以及一些待解决的问题记录. Google 博客上这篇文章的中文版有很多翻译错误. 概述 HTTP/2 仍是对之前 HTTP 标准的扩展,而非替代.HT ...
- PAT甲题题解-1055. The World's Richest (25)-终于遇见一个排序的不水题
题目简单,但解题的思路需要转换一下,按常规思路肯定超时,推荐~ 题意:给出n个人的姓名.年龄和拥有的钱,然后进行k次查询,输出年龄在[amin,amx]内的前m个最富有的人的信息.如果财富值相同就就先 ...
- 谈vs2013单元测试感想
(1)安装篇:这个就不用多说啦,百度一个安装包进行安装. 之前下载过vs2013当时是抱着玩玩的心态,也没有安装成功,现在作为作业重新安装,并且进行单元测试.下面就是安装vs2013的具体过程以及我遇 ...
- jmeter 获取执行脚本的路径
需求:向jmeter.jmx 的路径下 写日志 : import org.apache.jmeter.services.FileServer; import com.bzj.utils.*; Stri ...
- WebSocket 时时双向数据,前后端(聊天室)
https://blog.csdn.net/lecepin/article/details/54632749 实例内容 今天主要说一下微信的WebSocket接口以及在小程序中的使用. WebSock ...