【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


相关文章
|
7天前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
50 23
Linux系统之whereis命令的基本使用
|
21天前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
34 11
|
2月前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
203 20
|
2月前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
143 8
|
2月前
|
监控 Linux 数据处理
Linux grep技巧 结合awk查询
结合 `grep` 和 `awk`,可以实现灵活、高效的文本处理和数据分析。`grep` 用于快速过滤符合条件的行,`awk` 用于进一步处理和提取数据。这种组合使用在日志分析、数据处理和系统监控等场景中尤为常见。掌握这两者的基本用法和组合技巧,可以大大提升在 Linux 环境下的工作效率。
61 7
|
2月前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
128 7
|
9月前
|
搜索推荐 Linux 开发工具
【Linux】深入理解awk命令
【Linux】深入理解awk命令
101 0
|
存储 Linux Shell
Linux awk命令
除了使用 sed 命令,Linux 系统中还有一个功能更加强大的文本数据处理工具,就是 awk。 曾有人推测 awk 命令的名字来源于 awkward 这个单词。其实不然,此命令的设计者有 3 位,他们的姓分别是 Aho、Weingberger 和 Kernighan,awk 就取自这 3 为大师姓的首字母。 和 sed 命令类似,awk 命令也是逐行扫描文件(从第 1 行到最后一行),寻找含有目标文本的行,如果匹配成功,则会在该行上执行用户想要的操作;反之,则不对行做任何处理。awk 命令的基本格式为: [root@localhost ~]# awk [选项] '脚本命令' 文件名
113 1
|
Unix 测试技术 Linux
|
Linux Perl
百度搜索:蓝易云【linux系统awk命令使用详解】
Awk是一种强大的文本处理工具,在Linux系统中广泛使用。它可以读取文件、处理数据并输出结果,通常与其他Linux命令一起使用。在本篇文章中,我们将详细讲解Awk的使用方法,帮助读者了解这个工具的基本原理和常见用法。
94 0