【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 nginx
Linux下操作Nginx相关命令
Linux下操作Nginx相关命令
|
1天前
|
Ubuntu 前端开发 Linux
Linux apt 命令
10月更文挑战第1天
14 4
|
1天前
|
缓存 前端开发 Linux
Linux yum 命令
10月更文挑战第1天
15 2
|
1天前
|
关系型数据库 MySQL Unix
【Linux】常用的命令
【Linux】常用的命令
7 1
|
1天前
|
大数据 Linux 开发工具
【Linux】命令简介------迅速掌握Linux命令
【Linux】命令简介------迅速掌握Linux命令
|
5月前
|
搜索推荐 Linux 开发工具
【Linux】深入理解awk命令
【Linux】深入理解awk命令
68 0
|
11月前
|
存储 Linux Shell
Linux awk命令
除了使用 sed 命令,Linux 系统中还有一个功能更加强大的文本数据处理工具,就是 awk。 曾有人推测 awk 命令的名字来源于 awkward 这个单词。其实不然,此命令的设计者有 3 位,他们的姓分别是 Aho、Weingberger 和 Kernighan,awk 就取自这 3 为大师姓的首字母。 和 sed 命令类似,awk 命令也是逐行扫描文件(从第 1 行到最后一行),寻找含有目标文本的行,如果匹配成功,则会在该行上执行用户想要的操作;反之,则不对行做任何处理。awk 命令的基本格式为: [root@localhost ~]# awk [选项] '脚本命令' 文件名
96 1
|
12月前
|
Unix 测试技术 Linux
软件测试|Linux三剑客之awk命令详解
软件测试|Linux三剑客之awk命令详解
86 0
|
Linux Perl
百度搜索:蓝易云【linux系统awk命令使用详解】
Awk是一种强大的文本处理工具,在Linux系统中广泛使用。它可以读取文件、处理数据并输出结果,通常与其他Linux命令一起使用。在本篇文章中,我们将详细讲解Awk的使用方法,帮助读者了解这个工具的基本原理和常见用法。
81 0
|
2月前
|
Linux Perl
在Linux中,如何使用请用 cut 或者 awk,sed命令取出 linux 中 eth0 的 IP 地址?
在Linux中,如何使用请用 cut 或者 awk,sed命令取出 linux 中 eth0 的 IP 地址?

热门文章

最新文章