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

相关推荐

  • Linux学习总结02—Linux的操作系统发展史(原创)

       我们都知道,在美国宾夕法尼亚大学,有那么一种计算机,叫ENIAC,这种机器耗电量是非常大,而且主机也是庞大,它诞生于1946年的2月14日的情人节,确实有纪念意义,就算是约炮也是拿着智能手机先摇一摇,好看就勾搭,不好看的就拉黑,这台计算机可并不是造福人类的,只是计算数据,我想,当时的情况是这样,在这台计算机没有出世之前,那帮工程师们…

    Linux干货 2016-10-29
  • linux的内建命令和外部命令

    摘要:    Linux命令有内部命令(内建命令)和外部命令之分,内部命令和外部命令功能基本相同,但是其工作机制相差很大。本文就内建命令和外部命令做一下介绍。 一、内部命令(内建命令)    内部命令,实际上是shell程序的一部分,其中包含的是一些比较简单的linux系统命令,这些命令由shell程序识别并在shel…

    Linux干货 2016-10-18
  • DNS配置案例 二

    DNS配置案例 二 DNS配置案例 二 1 §·DNS的配置与案例 1 §·测试工具 3 §·主配置文件格式:/etc/named.conf 7 §·缓存名称服务器的配置: 8 §·配置解析一个正向区域 : 以loveme.com域为例: 10 §·配置解析一个反向区域 : 以loveme.com域为例: 15 §·配置从DNS服务器 19 §·问…

    Linux干货 2016-09-26
  • 运维自动化之系统安装

    自动化安装系统,cobbler的安装使用

    Linux干货 2018-01-15
  • Linux运维实战之5:磁盘分区、格式化

    在网络系统中,磁盘和文件系统管理是两个非常基本、同时也是非常重要的管理任务,特别是文件系统管理,因为它与用户权限和整个网络系统的安全息息相关。本次博文的主题是关于Linux系统中磁盘分区、格式化及挂载,下次博文我们再详细讨论文件系统管理。 在操作系统中,磁盘管理属于设备管理的范畴。一块硬盘安装到主机之后称为裸设备,若要能够在Linux系统中使用必须对其进行如…

    Linux干货 2016-11-26
  • 权限管理和字符匹配示例

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 cp -r /etc/skel /home/tuser1 chmod -R 700 tuser1 2、编辑/etc/group文件,添加组hadoop hadoop:x:999 3、手动编辑/etc/passwd文件新增一行,…

    2017-12-25