文章目录
- 一、grep
- 1、grep与egrep的关系
- 2、实验内容
- (1)、实验素材准备
- (2)、实验步骤
- 二、sed
- 三、awk
- 1、
- 2、实验内容
一、grep
1、grep与egrep的关系
grep -E = egrep
grep支持基本正则表达式
egrep对于基础和扩展的正则表达式都支持
2、实验内容
(1)、实验素材准备
(2)、实验步骤
grep (参数) xxx 文件名
grep参数 | 意义 |
---|---|
关键字 | 查询带有关键字的行 |
-E xx/xxx | 筛选含有这两种关键字之一的内容 |
-e xx -e xxx | 与上一条等价 |
-i | |
-n | |
- |
二、sed
命令格式: 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 hello\nworld' 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 | 第二列 |
2、实验内容
在passwd中,以:为分割符,以root为开始打印每一行的第一列并以end结束整个打印
在passwd中,打印行数
在passwd中,打印列数
打印出数据的来源文件名
以westos为变量名,每次循环加一,直至结束后输出行数
输出以nologin结尾的行的第1,3列
同上,但当要求的列数超过本身的列数时,会只显示存在的那一列。
条件中两个元素的或关系
两个条件的或关系
两个条件的并关系
第七列以bash结尾的内容和它的反命题