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
下一篇 2017-11-21

相关推荐

  • bash之运算、测试、if语句及for循环语句

      一、逻辑运算         布尔运算:真、假         与运算:                 真 && 真 = 真       …

    Linux干货 2015-05-25
  • Shell 变量类型及用法

    一、      什么是变量          变量源于数学,在计算机语言中能储存计算机结果或能表示值的抽象概念,变量可以由变量名访问,在指令语言中,变量通常是可变的。Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个…

    Linux干货 2016-08-12
  • 博客作业网络班22期+第4周(8.29-9.4)

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 #  ls /home/tuser1 || mkdir /home/tuser1 && cp -R /etc/skel/*  /home/tuser1 && ch…

    Linux干货 2016-09-07
  • Linux Cluster之keepalived及keepalived + LVS DR的实现

      一、HA Cluster基础 系统可用性A=MTBF/(MTBF+MTTR) MTBF:平均无故障时间 MTTR:平均修复时间 降低MTTR的方式:冗余(redundent) 衡量标准:几个9 90%、99%、99.9%… 提升系统可用性的办法之一:降低MTTR 通过冗余(redundant)的方式能够避免单点故障(SPoF),从而…

    2016-11-02
  • rsync+inotify实现数据实时同步备份

    定时备份和实时备份        说到备份,无疑于定时备份和实时同步备份。定时备份可以通过脚本或者Crontab来实现,而实时同步备份可以通过某些接口监控文件的各种变化情况来实现的(比如内核接口inotify);通过对比可以发现对数据信息要求高的环境使用实时同步备份可以更好更有利的保护数据的安全性。 软件介绍之rsyn…

    Linux干货 2015-02-28
  • MySQL主从复制: MHA

                    MySQL主从复制: MHA 前言 MHA的架构 环境部署 实验步骤 总结 前言 上篇文章我们实现了MySQL的主从复制, 但是我们之前就说过, 主从复制是有很多问题的…

    Linux干货 2016-04-28