正则表达式(sedawk)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式(sedawk)相关的知识,希望对你有一定的参考价值。

二、sed
使用sed主要是使用它的查找和提换功能
命令格式 sed -n ‘//‘ p filename 单引号内

创建目录,把passwd文件拷贝进来

技术图片

只显示我们需要查找的行 -n
技术图片

指定一个区间打印
技术图片

实现多个,-e
技术图片

查找一个文件,不区分大小写都列出来 -I
技术图片

删除某些行,把剩下的行列出来 d

技术图片
sed删除选择的行 -i
技术图片

全局指定替换1,10行 s
技术图片
s代表替换,加上g代表全局,不加g只会替换本行出现的第一个

调整字符串位置 -r
第一段和最后一段调整位置

技术图片

给文档前面统一添加一个字符,比如aaa
技术图片

三、awk
-F选项的作用是指定分隔符,如果不加分隔符,以空格或者tab为分隔符
print为打印动作,$1为第一段 $2为第二段 $3第三段 $0表示所有

技术图片
技术图片
打印所有内容

技术图片
匹配字符或者字符串

技术图片
打印第一行包含oo的行

技术图片
多次打印或者多次匹配

技术图片

条件操作符

、 >=、 < 如果和数字进行比较时,把数字用双括号括起来,那么就不会被认为是数字
而会认为是字符,如果不加双括号则认为是数字
精确匹配
技术图片
列出第三段大于500的行并打印
技术图片

!=表示不等于,第七段不等于/sbin/nologin有哪些

技术图片
可以使用&&和||,分别表示并且和或者

技术图片
awk内置变量

OFS和-F选项类似,也是定义分割符号,但是它是在输出的时候定义
NR表示行号
NF表示用分隔符分割后一共有多少段

OFS用法:
技术图片
NF用法:表示多少段,把段号列出来

技术图片
NR用法:表示多少行,把行号列出来
技术图片

awk数学运算

技术图片

没有切割分隔符,可以用OFS定义一下分隔符
技术图片

精准匹配

技术图片

awk计算某个段的总和
技术图片

以上是关于正则表达式(sedawk)的主要内容,如果未能解决你的问题,请参考以下文章

shell正则表达式:sedawk 之文本三剑客其二

正则表达式

Shell脚本三剑客——Grep(进阶版egrep)SedAwk命令

Linux运维正则表达式之awk

12sedawk数组 学习笔记

sedawk——运维必须掌握的两个工具