正则表达式(sed、awk)

匿名 (未验证) 提交于 2019-12-03 00:11:01

二、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计算某个段的总和

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