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

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

前言

a0df35fc5b6f4f66805047963adf1c90.png


什么是Linux 管道命令?


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


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


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

【提醒注意】:


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


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


🐋Cut— 根据条件 从命令结果中 提取 对应内容


第一步: 截取出指定文件中 前2行 的 第5个字符

image.png

命令: head -2 文件名 | cut -c 5

第二步: 截取出指定文件中前2行以”:”进行分割的第1,2段内容

image.png


命令:


head -2 文件名 | cut -d ':' -f 1,2


或者


head -2 文件名 | cut -d ':' -f 1-2


第三步: 截取出指定文件中前2行以”:”进行分割的第1,2,3段内容


命令:


head -2 文件名 | cut -d ':' -f 1,2,3


或者


head -2 文件名 | cut -d ':' -f 1-3


🐋sort—可针对文本文件的内容,以行为单位来排序。


第一步: 对字符串排序


命令: sort 文件名


第二步: 去重排序


它的作用很简单,就是在输出行中去除重复行。

image.png

命令:sort -u 文件名

第三步: 对数值排序

image.png

命令

默认按照 字符串 排序 :  sort 文件名

升序:sort -n 文件名

降序:sort -n -r 文件名

合并式:sort -nr 文件名   —> 效果和降序一样


第四步: 对成绩排序

image.png


# 根据第二段成绩 进行倒序显示 所有内容

sort -t ' ' -k2nr 文件名

注意: '    '  中 有一个空格

🐋wc命令— 显示/统计 指定文件 字节数, 单词数, 行数 信息.


第一步: 显示指定文件 字节数, 单词数, 行数 信息.

image.png

命令:wc 文件名

第二步: 只显示 文件 的行数

image.png


命令:


wc -l 文件名     -----> 行数


wc -c 文件名     -----> 字节数


wc -w 文件名     -----> 单词数


第三步: 统计多个文件的 行数 单词数 字节数


命令:wc 文件1 文件2 文件3 文件4


例:wc 1.txt 2.txt 3.txt 4.txt


或者:


命令:wc *.txt


第四步: 查看 /etc 目录下 有多少个 子内容


命令:ls /etc | wc -l


🐋 uniq— 用于检查及删除文本文件中重复出现的行【去重】


一般与 sort 命令结合使用。


第一步:实现去重效果

image.png

命令:cat 文件名 | sort | uniq         —》根据字符串排序并去重


第二步:不但去重,还要统计出现的次数

image.png

命令:cat 文件名 | sort | uniq  -c


🐋tee — 将命令结果 通过管道 输出 到 多个文


image.png


  • 将去重统计的结果 放到 a.txtb.txtc.txt 文件中

命令:cat 去重文件名 | sort | uniq  -c | tee a.txt b.txt c.txt


tr —用于 替换 删除 文件中的字符。

第一步: 实现 替换效果

image.png

# 将 小写 he 替换成 大写 HE

echo "helloworld" | tr 'he' ''HE

# 把 helloworld 的转换为大写

echo "helloworld" | tr '[a-z]' 'A-Z'

# 把 HELLO 转成 小写

echo "HELLO" | tr 'A-Z' 'a-z'


第二步: 实现删除效果

image.png

# 删除 abc1d4e5f 中的数字

echo 'abc1d4ee5f' | tr -d '[0-9]'


第三步: 单词计数


# 统计每个单词出现的次数

示例数据:

[root@node001 opt] # cat words.txt

hello,world,hadoop

hive,sqoop,flume,hello

kitty,tom,jerry,world

hadoop

实现步骤:

1 、将分隔符 “,” 替换成 换行符

2 、 排序

3 、去重

4 、计数

# 命令

cat words.txt |tr ',' '\n'|sort |uniq -c

通过 tr [选项] 字符1 字符2 可以 实现 替换 和 删除 效果


相关文章
|
Linux Perl
在Linux中,如何使用请用 cut 或者 awk,sed命令取出 linux 中 eth0 的 IP 地址?
在Linux中,如何使用请用 cut 或者 awk,sed命令取出 linux 中 eth0 的 IP 地址?
|
消息中间件 Linux 开发者
Linux进程间通信秘籍:管道、消息队列、信号量,一文让你彻底解锁!
【8月更文挑战第25天】本文概述了Linux系统中常用的五种进程间通信(IPC)模式:管道、消息队列、信号量、共享内存与套接字。通过示例代码展示了每种模式的应用场景。了解这些IPC机制及其特点有助于开发者根据具体需求选择合适的通信方式,促进多进程间的高效协作。
671 3
|
存储 Linux 数据处理
在Linux中,什么是管道操作,以及如何使用它?
在Linux中,什么是管道操作,以及如何使用它?
|
Linux
Linux cut如何使用?
Linux cut如何使用?
151 0
|
开发者 API Windows
从怀旧到革新:看WinForms如何在保持向后兼容性的前提下,借助.NET新平台的力量实现自我进化与应用现代化,让经典桌面应用焕发第二春——我们的WinForms应用转型之路深度剖析
【8月更文挑战第31天】在Windows桌面应用开发中,Windows Forms(WinForms)依然是许多开发者的首选。尽管.NET Framework已演进至.NET 5 及更高版本,WinForms 仍作为核心组件保留,支持现有代码库的同时引入新特性。开发者可将项目迁移至.NET Core,享受性能提升和跨平台能力。迁移时需注意API变更,确保应用平稳过渡。通过自定义样式或第三方控件库,还可增强视觉效果。结合.NET新功能,WinForms 应用不仅能延续既有投资,还能焕发新生。 示例代码展示了如何在.NET Core中创建包含按钮和标签的基本窗口,实现简单的用户交互。
377 0
|
消息中间件 Linux
Linux0.11 管道(十一)
Linux0.11 管道(十一)
176 0
|
数据挖掘 Linux 应用服务中间件
在Linux中,如何在Linux中使用管道?
在Linux中,如何在Linux中使用管道?
|
存储 Linux 数据处理
在Linux中,管道(pipe)和重定向(redirection)的是什么?
在Linux中,管道(pipe)和重定向(redirection)的是什么?
|
存储 Unix Linux
在Linux中,什么是管道?它是如何工作的?
在Linux中,什么是管道?它是如何工作的?
|
Linux
Linux命令(80)之sort
Linux命令(80)之sort
219 1