当前位置: 首页 > news >正文

猿创征文|Linux 管道命令Cut、sort、wc、uniq、tee、tr【一】

目录

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

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

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

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

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

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


前言

什么是Linux 管道命令?

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

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

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

【提醒注意】:

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

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


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

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

命令含义
cut 动作 文件从指定文件截取内容
参数英文含义
-ccharacters按字符选取内容
命令: head -2 文件名 | cut -c 5

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

参数
英文
含义
-d '分隔符'
delimiter
指定分隔符
-f n1,n2
fifields
分割以后显示第几段内容, 使用 , 分割
范围控制含义
n只显示第 n 项 
n-显示从第 n 项 一直到行尾
n-m显示从第n 项 到m 项(包括m)

命令:

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 文件名

第二步: 去重排序

  •  它的作用很简单,就是在输出行中去除重复行。
参数英文含义
-uunique去除重复的

命令:sort -u 文件名

第三步: 对数值排序

参数英文含义
-nnumeric-sort按照数值大小排序
-rreverse使次数颠倒
  • 命令

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

升序:sort -n 文件名

降序:sort -n -r 文件名

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

 第四步: 对成绩排序

参数英文含义
-t
fifield-separator
指定字段分隔符
-kkey根据一列排序
# 根据第二段成绩 进行倒序显示 所有内容 
sort -t ' ' -k2nr 文件名
注意:   有一个空格

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

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

命令含义
wc 文件名显示 行数、单词数、字节数、指定文件信息

命令:wc 文件名

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

参数英文含义
-cbytes字节数
-wwords单词数
-llines

行数

命令:

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 命令结合使用。

第一步:实现去重效果

命令英文含义
uniq [参数] 文件unique 唯一去除重复行

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

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

参数英文含义
-ccount统计每行内容出现的次数

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


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

命令含义
命令结果 | tee 文件1 文件2 文件3
通过 tee 可以将命令结果 通过管道 输出到 多个文件
  • 将去重统计的结果 放到 a.txtb.txtc.txt 文件中

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


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

第一步: 实现 替换效果

命令英文

含义

命令结果 | tr 被替换的字符 新字符translate实现替换的效果
# 将 小写 he 替换成 大写 HE
echo "helloworld" | tr 'he' ''HE
# helloworld 的转换为大写
echo "helloworld" | tr '[a-z]' 'A-Z'
# HELLO 转成 小写
echo "HELLO" | tr 'A-Z' 'a-z'

第二步: 实现删除效果

命令英文含义
命令结果 | tr -d 被删除的字符
delete
删除指定的字符
# 删除 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 可以 实现 替换 删除 效果

写到最后

四季轮换,已经数不清凋零了多少, 愿我们往后能向心而行,一路招摇胜!

🐋 你的支持认可是我创作的动力

💟 创作不易,不妨点赞💚评论❤️收藏💙一下

😘 感谢大佬们的支持,欢迎各位前来不吝赐教

相关文章:

  • 【项目管理】DBClient
  • 猿创征文 |【C++】面向对象之微观部分——类的组成(中)
  • 微服务项目:尚融宝(24)(后端搭建:JWT令牌测试)
  • 第6章 MyBatis框架入门详解(2)
  • 【图像识别-指纹识别】指纹特征提取附matlab代码
  • 3道Java基础题
  • Docker 安装 MySQL、Redis、Nginx
  • 疫情宅在家,研究一下fastjson中字段智能匹配的原理
  • 【MapGIS精品教程】001:MapGIS K9完整图文安装教程
  • 指针和数组笔试题解析
  • 人脸检测5种方法
  • SparkSQL 总结(未完待续)
  • 51单片机入门——数模\模数转换
  • 【毕业设计】 单片机自动写字机器人设计与实现 - 物联网 嵌入式 stm32
  • 花边新闻获取易语言代码
  • 分享的文章《人生如棋》
  • Android组件 - 收藏集 - 掘金
  • Fabric架构演变之路
  • Git同步原始仓库到Fork仓库中
  • JAVA_NIO系列——Channel和Buffer详解
  • JavaScript标准库系列——Math对象和Date对象(二)
  • mysql中InnoDB引擎中页的概念
  • Octave 入门
  • SpiderData 2019年2月25日 DApp数据排行榜
  • vue 配置sass、scss全局变量
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 百度地图API标注+时间轴组件
  • 搞机器学习要哪些技能
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 让你的分享飞起来——极光推出社会化分享组件
  • 入手阿里云新服务器的部署NODE
  • 深度学习中的信息论知识详解
  • 新书推荐|Windows黑客编程技术详解
  • 《码出高效》学习笔记与书中错误记录
  • #if和#ifdef区别
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #mysql 8.0 踩坑日记
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • $.ajax()方法详解
  • (C)一些题4
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (层次遍历)104. 二叉树的最大深度
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (算法)前K大的和
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • ./configure、make、make install 命令
  • @javax.ws.rs Webservice注解
  • @vue/cli脚手架
  • [ HTML + CSS + Javascript ] 复盘尝试制作 2048 小游戏时遇到的问题
  • [Ariticle] 厚黑之道 一 小狐狸听故事
  • [Enterprise Library]调用Enterprise Library时出现的错误事件之关闭办法
  • [flask]http请求//获取请求体数据