首页
读书
网课

正文

什么是Linux 管道命令?

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


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


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

【提醒注意】:   

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


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

 


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

1、实现

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

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

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

命令

英文

含义

split -b 10k 文件

byte

将大文件切分成若干 10KB 的小文件

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

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

1、实现

第一步 : 模糊查询

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

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

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

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

第六步 : 段内容 求和

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

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

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

命令

含义

awk '/zh|li/' score.txt

模糊查询

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

选项:

选项

英文

含义

- F ','

fifield-separator

使用 指定字符 分割

$ + 数字

获取 第几段 内容

$0

获取 当前行 内容

NF

fifield

表示当前行共有多少个字段

$NF

代表 最后一个字段

$(NF - 1)

代表 倒数第二个字段

NR

代表 处理的是第几行

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

选项:

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

常用函数如下 :

函数名

含义

作用

toupper()

upper

字符 转成 大写

tolower()

lower

字符 转成小写

length()

length

返回 字符长度

第五步: 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

写到最后



上一篇: 没有了
下一篇: 没有了
圣贤书院