【Linux】管道命令split、awk、sed【二】

简介: 【Linux】管道命令split、awk、sed【二】

前言

a0df35fc5b6f4f66805047963adf1c90.png


什么是Linux 管道命令?


1、Linux管道命令是  “ | ”,其作用是用来连接多条指令,前一条指令的输出流会作为后一条指令的操作对象,其命令格式为“指令1 | 指令2 | …”,该命令的后一条指令,必须能够接收标准输入流命令才能执行。


2、管道命令的操作符是:”|”,它只能处理由前面一条指令传出的正确输出信息,对错误信息是没有直接处理能力的。然后,传递给下一条指令,作为操作对象。


基本格式:指令1 | 指令2 | …

【提醒注意】:  

   1、管道命令只能处理前一条指令的正确输出,不能处理错误输出;


   2、管道命令的后一条指令,必须能够接收标准输入流命令才能执行


🐋 split :通过 split 命令将大文件 切分成 若干小文件


1、实现


第一步 : 按 字节 将 大文件 切分成 若干小文件

第二步 : 按 行数 将 大文件 切分成 若干小文件

第一步: 按 字节 将 大文件 切分成 若干小文件

image.png

第二步: 按 行数 将 大文件 切分成 若干小文件

🐋 awk:通过 awk 实现 模糊查询, 按需提取字段, 还可以进行 判断 和 简单的运算等.


1、实现


第一步 : 模糊查询

第二步 : 指定分割符 , 根据下标显示内容

第三步 : 指定输出字段的分割符

第四步 : 调用 awk 提供的函数

第五步 : 通过 if 语句判断 $4 是否及格

第六步 : 段内容 求和

注:测试文件内容 score.txt 请在管道命令(一)中进行查找

Linux 管道命令Cut、sort、wc、uniq、tee、tr【一】


第一步: 搜索 zhangsan 和 lisi 的成绩


image.png

image.png


第二步: 指定分割符, 根据下标显示内容


image.png


第三步: 指定分割符, 根据下标显示内容


选项:


第四步: 调用 awk 提供的函数


常用函数如下 :

image.png

第五步: if语句 查询及格的学生信息


选项:


第六步: 段内容 求学科平均分


通过 awk 动作 文件名 更加灵活的解析文件。

🐋sed:通过 sed 可以实现 过滤 和 替换 的功能.


1、实现


第一步 : 实现 查询 功能

第二步 : 实现 删除 功能

第三步 : 实现 修改 功能

第四步 : 实现 替换 功能


第一步: 实现 查询 功能


可选参数 :

# 练习 1 : 列出 1.txt 的 1~3 行 的数据

sed -n -e '1,3p' 1.txt

# 练习 2 :   列出 1.txt 的所有数据

sed -n -e '1,$p' 1.txt

# 练习 3 : 列出 1.txt 的所有数据 且 显示行号

sed -n -e '1,$=' -e '1,$p' 1.txt

简化版

cat -n 1.txt

cat -b 1.txt

nl 1.txt

# 练习 4: 查找 1.txt 中包含 eee 行

sed -n -e '/eee/p' 1.txt

# 练习 5 : 列出 01.txt 中包含 eee 的内容, eee 不区分大小写 , 并显示行号

nl 1.txt | sed -n -e '/eee/Ip'

nl 1.txt | grep -i eee

cat -n 1.txt | grep -i eee


第二步: 实现 删除 功能


#  练习 1 :   删除 1.txt 中前 3 行数据,并显示行号

nl 1.txt | sed -e '1,3d'

# 练习 2 :  保留 1.txt 中前 4 行数据,并显示行号

nl 1.txt | sed -e '5,$d'

nl 1.txt | sed -n -e '1,4p'


第三步: 实现 修改 功能


# 练习 1: 在 1.txt 的第二行后添加 aaaaa, 并显示行号

nl 1.txt | sed -e '2a aaaaa'

# 练习 2 : 在 1.txt 的第 1 行前添加 bbbbb ,并显示行号

nl 1.txt | sed -e '1i bbbbb'


第四步: 实现 替换 功能


# 练习 1: 把 1.txt 中的 kkk 替换成为 mmm, 并显示行号

nl 1.txt | sed -e 's/kkk/mmm/'

# 练习 2:  把 1.txt 中的 1,2 行替换为 aaa, 并显示行号

nl 1.txt | sed -e '1,2c aaa


相关文章
|
1天前
|
Linux
Linux常用命令2
Linux常用命令2
3 0
|
1天前
|
Linux
Linux常用命令1
Linux常用命令1
5 0
|
1天前
|
消息中间件 Unix Linux
【探索Linux】P.14(进程间通信 | 匿名管道 | |进程池 | pipe() 函数 | mkfifo() 函数)
【探索Linux】P.14(进程间通信 | 匿名管道 | |进程池 | pipe() 函数 | mkfifo() 函数)
8 0
|
1天前
|
人工智能 Linux Shell
linux命令-条件判断-test
linux命令-条件判断-test
5 1
|
1天前
|
Linux
linux设置全局命令
linux设置全局命令
7 0
|
1天前
|
Linux 虚拟化 Windows
linux之df命令 查看分区大小
linux之df命令 查看分区大小
8 1
|
1天前
|
安全 Linux Shell
Linux常用命令详解与实战应用
【5月更文挑战第7天】本文详述了Linux常用命令,包括文件与目录操作(ls, cd, pwd, cp, mv, rm)、文本处理(cat, grep, sed)及系统管理(top, df, du)命令。通过实例演示了如何使用这些命令,帮助读者理解和掌握Linux操作,提升系统管理效率。学习和熟练运用这些基础命令,是高效使用Linux的关键。
|
2天前
|
存储 安全 Linux
深入理解 Linux 用户和用户组的基本概念 + 相关命令 (一篇就够)
深入理解 Linux 用户和用户组的基本概念 + 相关命令 (一篇就够)
|
7月前
|
Unix Linux 测试技术
软件测试|Linux三剑客之sed命令详解
软件测试|Linux三剑客之sed命令详解
75 0