- 一、grep
- 1、grep与egrep的关系
- 2、实验内容
- (1)、实验素材准备
- (2)、实验步骤
- 二、sed
- 三、awk
- 1、用法
- 2、实验内容
grep -E = egrep
grep支持基本正则表达式
egrep对于基础和扩展的正则表达式都支持
grep (参数) xxx 文件名
| grep参数 | 意义 |
|---|---|
| 关键字 | 查询带有关键字的行 |
| -E xx/xxx | 筛选含有这两种关键字之一的内容 |
| -e xx -e xxx | 与上一条等价 |
| -i | |
| -n | |
| - |
命令格式: sed 参数 命令 处理对象 或是 sed 参数 处理对象 -f 处理规则文件
对字符的处理 p 显示 sed -n 5p filename##显示第五行 sed -n 3,5p filename##显示3到5行 sed -ne "3p;5p filename##显示3和5行 sed -ne 1,5p filename##显示1-5行 sed -ne '5,$p' filename##显示5到最后以行 sed -n '/^#/p' fstab ##显示以#开头的行
显示第五行
显示1和5行
显示1到5行
第5行到最后
显示以test开头的行
d 删除 sed 5d filename##删除第五行 sed '/^#/d' filename##把#开头的行删除 sed '/^UUID/!d' fstab##除了UUID以外的行都删除 sed -e '5,$d' filename
删除以test开头的行
删除三行及三行以后的内容
a 添加 sed -e '$a hello world' filename sed -e '$a hellonworld' filename sed -e '/^#/a hello world' filename
c 替换 sed -e '/^#/c hello world' fstab sed '5chello world' westos
w 把符合的行写到指定文件中 sed '/^UUID/w westofile' westos ##把westos中UUID开头的行写入westosfile中
i 插入 sed '5ihello westos' filename ##将hello westos插入到file的第一行 r 整合文件 sed '5r haha' westos ##三、awk 1、用法
awk -F 分割符 BEGIN {} {} END {} FILENAME
| 参数 | 意义 |
|---|---|
| NR | 行数 |
| NF | 列数 |
| FILENAME | 文件名称本身 |
| XXXXX | 变量名 |
| “XXXXX” | 字符串 |
| bash$ | 条件 |
|---|---|
| /条件1/条件2/ | 条件1或者条件2 |
| /条件1/ | |
| /条件1/&&条件2/ | 条件1并且条件2 |
| 参数 | 意义 |
| – | – |
| $0 | 所有的列 |
| $1 | 第一列 |
| $2 | 第二列 |
在passwd中,以:为分割符,以root为开始打印每一行的第一列并以end结束整个打印
在passwd中,打印行数
在passwd中,打印列数
打印出数据的来源文件名
以westos为变量名,每次循环加一,直至结束后输出行数
输出以nologin结尾的行的第1,3列
同上,但当要求的列数超过本身的列数时,会只显示存在的那一列。
条件中两个元素的或关系
两个条件的或关系
两个条件的并关系
第七列以bash结尾的内容和它的反命题



