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的行以及上下各两行都打印出来
例:过滤出带‘halt’关键词的行,并输入行号
例:过滤出不带‘nologin’的行,并输入行号
例:过滤出所有包含数字的行
例:过滤出所有不包含数字的行
二、sed工具的使用
1、打印某行,格式:sed -n 'n’p filename(‘n’表示第几行)
例:打印/etc/passwd的第5行
2、打印包含某个字符的行
例:打印/etc/passwd包含root的行
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、截取文档中的某个段
例:
-F指定分隔符,后面要跟单引号,单引号里面是分隔符,print表示打印某个字段,$1为第一个字段
2、匹配字符或者字符串
例:
这里的~就是匹配的意思
3、awk的内置变量通常有OFS、NF和NR。NF表示用分隔符分隔后一共有多少段,NR表示行号。
4、awk中的数字运算。
awk可以更改段值,例: