20190919笔记

寵の児 提交于 2019-11-30 03:26:47

9.4/9.5 sed

9.6/9.7 awk

一、sed

sed工具介绍(替换,替换指定的字符)

创建一个sed目录,把passwd文件拷贝进来,方便学习

只显示我们需要查找的内容显示出来,示例如下: -n

在grep中使用的特殊字符如(^$*等) 都可以在sed中使用

指定一个区间打印,比如指定一个区域2-3行,示例如下: -n

sed命令加上-e选项可以实现多个行为,示例如下: -e

如果需求说查找一个文件,把bus不管大小写都列出来: l(大写字母i)

删除某些行(并非删除),把剩下来行数都显示出来,示例如下: d

sed真正删除选中的行数,示例如下: -i

-i还可以指定删除某个字符的行,示例如下: //

全局指定替换1, 10行。 s

调整两个字符串的位置

扩展正则选项 (类似grep的-E): -r

第一段和最后一段替换位置

查看一个文档当中,所有的数字不包含字符

如果给文档前面统一添加字符串,比如aaa,示例如下:

二、awk

awk工具介绍

awk截取文档中的某个段落,示例如下:

-F选项的作用是指定分隔符,如果不加-F选项,以空格或者tab为分隔符

print为打印的动作,用来打印某个字段。$1为第一段,$2为第二段,$0表示整行

示例1:

示例2,打印出来所有的内容:$0

匹配字符或者字符

打印出来包含oo的行

打印第一行的第一段包含oo的行

多次打印,多次匹配test,示例如下:

条件操作符

示例1:,精确匹配:

示例2,列出来第三段大于等于500的行打印出来

示例3,! =表示不匹配,第七段不等于/sbin/nologin的有哪些

可以使用&&和||,它们分别表示并且和或者,用法如下:

||或者的用法:

awk的内置变量

OFS的用法如下,print打印时的分隔符:

NR表示行,NF表示段,命令介绍:

用NR列出前10行

还可以指定条件匹配一起使用

awk中的数学运行

awk可以更改段值,示例如下:

上例中切割没有分隔符,可以OFS定义一下分隔符,示例如下:

awk匹配root的第一行有哪些,示例如下:

awk计算某个段的总和,示例如下:

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!