20171121 grep 正则表达式

diff与patch ,grep 正则表达式

一、diff 与 patch

1. diff  用来对比两个文件的差异,并输出出来保存在一种“补丁文件”中:

diff

2.diff -u 通过-u选项来输出统一的“unfied 模式”

diff2

3.patch -b自动备份改变了的文件

4.利用diff -u和patch -b来复制文件

diff1

二、作业:

1.找出ifconfig “网卡名”命令结果中本机的 IPv4 的地址

ifconfig ens33|grep netmask|tr -s ” “|cut -d ” ” -f3

2.查出分区空间使用率的最大百分比值

df|grep / |tr -s ” “|cut -d ” ” -f5|sort -n|tail -n1

df

3.查出用户UID最大值的用户名、UID及shell类型

getent passwd|cut -d: -f1,3,7|sort -n -t: -k2|tail -1

df1

三、grep命令

1. grep、sed、awk号称文件编辑的三剑客

2. grep在CentOS 6和CentOS 7中是不一样的,在CentOS 6上面grep是一个内部命令:

g1

在CentOS 7上面是一个别名 :

g2

3.

基本用法:grep 可以使用以行为单位,键盘输入,然后过滤,再显示出匹配结果

g3

grep +文件 可以用来匹配文件内的内容

g4

同样grep支持键盘输入,也就支持管道技术

g5

grep 可以后接命令,grep + `   `

g6

4. 选项

-v 与匹配的内容,恰恰相反

g7

-i 不检查大小写

g8

-n 显示出包含字符串的行号

g9

-c 统计匹配到的次数

g10

-q  静默模式,就是匹配出来,但是什么都不显示

g11

-o  仅显示你搜索到的字符串

g12

-e 或的关系 类如-e djj  -e

-w 匹配整个单词

四、正则表达式:

1. 相对于文件的通配符而言,正则表达式是用来匹配字符串的,而通配符是用来匹配文件名称。                   它是有一类的特殊字符编写的,其中的字符不一定表示字面意思,而是表示控制或通配的作用。

2. 正则表达式分两类:基本正则表达式和扩展正则表达式

3. 元字符的分类:字符匹配,匹配次数,匹配位置,分组

 

字符匹配: .  表示任意字符

z

[ abc ]  表示abc中的任何其中一个字符

z1

[^] 匹配除了符合条件的任意一个字符

z3

[:alnum:]代表字母和数字  [:alpha:]代表任何英文大小写字符

[:lower:]小写字母   [:upper:]大写字母

[:blank:]空白字符(空格和制表符)[:space:]水平和垂直的制表符(比[:blank:]                                                      范围更大)

匹配次数:用在指定次数的字符后面,用于指定前面字符要出现的次数

*任意次数,.*就表示任意字符的任意的次数

z4

\?匹配其前面的字符0或1次

z5

z6

\+匹配其前面的字符至少一次

z7

z8

\{n\}匹配前面的字符n次

z9

\{,n\}匹配前面的字符至多n次

zi

\{n,\}匹配前面的字符至少n次

zi1

匹配位置:

一行中:    ^ 行首锁定   $行尾锁定

单词行: \<或\b锁定词首     \> 或 \b词尾锁

 

 

 

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/88798

(0)
zss123456zss123456
上一篇 2017-11-21 14:45
下一篇 2017-11-21 19:44

相关推荐

  • Docker 实例

    1、Docker 安装 Nginx 方法一:通过 Dockerfile构建 创建Dockerfile 首先,创建目录nginx,用于存放后面的相关东西。 # mkdir -p nginx/www nginx/logs nginx/conf www目录将映射为nginx容器配置的虚拟目录 logs目录将映射为nginx容器的日志目录 conf目录里的配置文件将…

    2018-01-22
  • Python内置数据结构——集合set

    集合 定义 set翻译为集合 collection翻译为集合类型,是一个较大的概念 set是一个可变的、无序的、不重复的元素组成的集合 set的元素要求必须可以hash,目前已学的不可hash的类型只有list、set 元素不可以索引 set可以迭代 set的初始化 set_1 =set() #表示定义一个空集合set_1 set_1 =set(iterab…

    Linux干货 2017-10-03
  • N22-妙手-第二周博客作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示     mkdir: 创建目录         使用方法:mkdir [OPTION]… DIRECTORY…   &n…

    Linux干货 2016-08-29
  • 计算机的组成及功能

    计算机的组成及功能 计算机的组成 计算机的组成,简单地来说,包含硬件和软件两部分,两者相辅相成,缺一不可。在计算机网络发展的今天,网络也已成为计算机不可或缺的一部分。 计算机硬件 可以分为如下5个部分: 控制器 负责对程序的控制信息进行分析,控制并协调输入、输出操作或内存访问,如CPU 运算器 负责数据的算术运算和逻辑运算,如C…

    Linux干货 2016-10-29
  • nginx学习

    nginx    nginx的核心配置项:        Core functionality:核心配置,Glob配置段            daemon:是否开启为守护进程        &nbs…

    2017-05-08
  • 磁盘文件挂载与卸载

    挂载(mount)何为挂载?挂载指将文件系统与根文件系统的某个现存的目录建立起来的关联关系,这样我们就可以将目录作为访问磁盘文件的入口,进行存取交互。挂载点:挂载点指的是被挂载的对象,通常挂载点是一个目录,不过有时候也有文件作为挂载点格式:mount 设备 挂载点 ;此挂载方法味临时挂载,只在当前的shell中有效,退出则清除挂载关联设备文件在/dev/sd…

    Linux干货 2017-04-24