grep
作用说明:过滤文件中的信息
参数:https://man.linuxde.net/grep
sed
参数:https://man.linuxde.net/sed
作用说明:擅长对文件信息进行编辑/擅长对行进行操作
执行原理:
按照行进行处理文件
处理信息会在模式空间中完成
根据条件找出信息,完成相应处理命令
修改信息时需要将模式空间的内容覆盖到磁盘空间中
参数 | 作用 |
---|---|
-n | 取消默认输出 |
-e | 识别多操作指令 |
-r | 识别扩展正则 |
-i | 真正编辑修改文件内容 |
指令 | 作用 |
---|---|
p | 输出显示指定信息 |
d | 删除指定信息 |
s | 替换指定信息 |
g | 全局替换信息 |
a | 添加指定信息在相应行的后面 |
i | 插入指定信息在相应行的前面 |
c | 将一行信息进行替换修改 |
查询文件信息
按照行号查询
查找单行信息
[root@backup ~]# sed -n '3p' person.txt
查找多行信息
[root@backup ~]# sed -n '2,4p' person.txt
连续多行
[root@backup ~]#ed -n '2p;4p' person.txt
不连续多行
[root@backup ~]#sed -n '2,$p' person.txt
按照字符查询信息
查找单行信息
[root@backup ~]# sed -n '/CTO/p' 文件信息
查看多行信息
[root@backup ~]# sed -n '/CTO/,/CIO/p' 文件信息
删除文件信息 -ni -i.bak
删除第六行信息
[root@backup ~]#sed -i '6d' person.txt
删除并备份
[root@backup ~]#sed -i.bak '/COO/d' person.txt
添加文件信息
添加到第一行下面
[root@backup ~]#sed -i '1a102,zhaoyao,CTO' person.txt
添加到第五行上面
[root@backup ~]#sed -i '5i103,Alex,COO' person.txt
第二行下面添加两行信息
sed -i '2a103,Alex,COO\n104,yy,CFO' person.txt
插入到第二行前面,第三行后面
sed -e '2i103,Alex,COO' -e '3a104,yy,CFO' person.txt
修改文件信息 s###g
指定条件进行替换
[root@backup ~]# sed '$s# # #g' person.txt
指定变量信息进行替换
sed -i "s#变量信息#变量信息#g" $变量信息
awk
#参数:https://man.linuxde.net/awk
-F 指定分隔信息
动作:print 输出指定信息
gsub 修改指定信息
内置变量:
NR 表示行的信息
NF 表示列的信息
FS 表示指定分隔符号
执行原理: BEGIN END
概念说明:模式识别和脚本编写
执行原理:按照行进行处理文件,根据匹配条件信息,完成相应的操作
语法结构:
awk [参数] ‘模式信息(条件) {动作}’ 文件信息 查询文件信息 根据行号信息进行处理 awk ‘NR==n’ 文件名称
根据文件内容进行处理
[root@backup ~]#awk ‘/查找内容/ 文件名称
按列进行查询
[root@backup ~]#awk -F
-F 指定列的分隔符
进行取反操作进行替换操作
(gsub(//,"",$n))
进行运算操作
运算公式:
累加运算:i=i+1 -->i++
求和运算:i=i+
n
求
差
运
算
:
i
=
i
−
n 求差运算:i=i-
n 求差运算:i=i−n