欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux正则表达式

程序员文章站 2022-06-26 16:14:42
...

一、grep/egrep工具的使用

1、grep命令的格式:grep [-cinvABC] ‘word’ filename
-c:表示打印符合要求的行数
-i:表示忽略大小
-n:表示输出符合要求的行及其行号
-v:表示打印不符合要求的行
-A:后面跟数字,表示打印符合要求的行以及下面n(数字)行
-B:后面跟数字,表示打印符合要求的行以及上面n(数字)行
-C:后面跟数字,表示打印符合要求的行以及上下各n(数字)行

例:把包含halt的行以及上下各两行都打印出来
Linux正则表达式

例:过滤出带‘halt’关键词的行,并输入行号
Linux正则表达式
例:过滤出不带‘nologin’的行,并输入行号
Linux正则表达式
例:过滤出所有包含数字的行
Linux正则表达式
例:过滤出所有不包含数字的行
Linux正则表达式

二、sed工具的使用

1、打印某行,格式:sed -n 'n’p filename(‘n’表示第几行)
例:打印/etc/passwd的第5行
Linux正则表达式
2、打印包含某个字符的行
例:打印/etc/passwd包含root的行
Linux正则表达式
3、删除某行
格式:sed 'n/某个字符’d filename(n表示数字)

4、替换字符或者字符串

# sed '1,2s/ot/to/g' test.txt

参数s就表示替换的动作,参数g表示本行全局替换

5、直接修改文件的内容

# sed -i 's/ot/to/g' test.txt

注意在修改前先备注一下文件

三、awk工具的使用

1、截取文档中的某个段
例:
Linux正则表达式
-F指定分隔符,后面要跟单引号,单引号里面是分隔符,print表示打印某个字段,$1为第一个字段

2、匹配字符或者字符串
例:
Linux正则表达式
这里的~就是匹配的意思

3、awk的内置变量通常有OFS、NF和NR。NF表示用分隔符分隔后一共有多少段,NR表示行号。

4、awk中的数字运算。
awk可以更改段值,例:
Linux正则表达式

相关标签: 笔记