shell之常用工具(cut、sort、uniq、tr)
文章目录
- 一、列截取工具-cut
- 1、cut概述
- 2、常用选项
- 3、案例演示
- 二、排序工具-sort
- 1、sort概述
- 2、常用选项
- 3、案例演示
- 三、去重工具-uniq
- 1、uniq概述
- 2、uniq的常用选项
- 3、案例演示
- 四、修改工具-tr
- 1、 tr概述
- 2、tr的常用选项
- 3、案例演示
- 五、面试题
- 六、总结
一、列截取工具-cut
1、cut概述
cut命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
如果不指定file 参数,cut命令将读取标准输入。必须指定 -b(字节) 、-c(字符) 或 -f(第几列) 标志之一。
字符和字节的区别
- 字节(byte) : 是计量单位,表示数据量多少,是计算机信息技术用于计量存储容量的一种计量单位,通常情况下1字节等于8位
- 字符(character) :计算机中使用的字母、数字、字和符号
- 一般在英文状态下,一个字母或字符占用一个字节, 一个汉字占用两个字节 。
2、常用选项
格式:cut [选项] [文件路径]
选项 | 功能 |
---|---|
-b | 按字节截取 |
-c | 按字符截取,常用于中文 |
-d | 指定以什么为分割符截取,默认为制表符 |
-f | 通常和-d一起使用(表示截取第几列) |
3、案例演示
案例1:截取/etc/passwd 文件的中root用户的第7列(-d -f)
案例2:按字节截取(-b)
案例:按字符截取(-c)
二、排序工具-sort
1、sort概述
是一个以行为单位对文件内容进行排序的工具,也可以根据不同的数据类型来排序。
例如:数据和字符的排序就不一样
2、常用选项
格式:sort [选项] [文件路径]
选项 | 功能 |
---|---|
-t | 指定分隔符,默认使用[Tab]键或空格分隔 |
-k | 指定排序区域,哪个区间排序 |
-n | 按照数字进行排序,默认是以字母形式排序 |
-u | 等同于uniq,表示相同的数据仅显示一行,注意:如果行尾有空格就去重就不成功 |
-r | 反向排序,默认升序, |
-o | 将排序的结果转存至指定文件 |
3、案例演示
案例1:不加任何选项,默认按照第一列升序,字母的话就是从a到z
案例2:指定分隔符(-t),指定排序的列(-k),升序排列
案例3:指定分隔符,指定排序的列,降序排列(-r)
案例4:指定分隔符,指定排序的列,降序排列,并将排序后的内容输入到/home/ydq/ydq.txt中(-o)
案例5:去掉文件中重复的行(-u),(重复的行可以是不连续的)
三、去重工具-uniq
1、uniq概述
主要用于去除连续的重复行
注意: 是连续的行。所以通常和sort结合使用,先排序使之变成连续的行, 再执行去重操作,否则不连续的重复行它不能去重。
2、uniq的常用选项
格式:uniq [选项] 文件路径
不加选项的话,是直接去掉重复的行。
选项 | 功能 |
---|---|
-c | 统计重复的行(在它前面标上重复的次数) |
-d | 仅显示重复的行 |
-u | 仅显示出现一次的行(不重复的行) |
3、案例演示
案例1:统计连续重复的行(-c)
案例2:显示连续重复的行(-d),显示不连续重复的行(-u)
案例3:查看当前登录用户,去掉重复的行
案例4:统计历史登录过系统的用户
四、修改工具-tr
转换或删除文件中的字符
1、 tr概述
可以用一个字符来替换另一个字符,
或者可以完全除去一些字符
还可以用来去掉重复的字符
从标准输入中替换,缩减和注释或删除字符,并将结果写到标准输出
2、tr的常用选项
从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。
格式: tr [选项] '字符集1' '字符集2'
选项 | 功能 |
---|---|
-d | 删除字符 |
-s | 删除所有重复出现的字符,只保留一个(如果是空行,全部去掉) |
3、案例演示
案例1:将所有小写的改成大写
案例2:替换字母,一一对应替换
案例3:替换字符,不是一一对应
案例4:将字符替换成特殊字符
案例5:删除字符(-d)
案例6:对字符去重(-s)
案例7:去掉所有的空行
五、面试题
案例1:统计当前连接主机数
案例2:统计当前主机的连接状态
六、总结
cut :表示截取列
可以按照字符(-c)按照字节(-b)或者根据分割符(-d)来选取要截取的列(-f)。
sort:表示排序
- 默认以字母排序,数字排序需要加选项(-n),反向排序需要加选项(-r)。
- 还可以选择按照哪一列进行排序,需要先定义分割符(-t),然后根据分割符去选取对应的列(-k),最后进行排序。
- 可以将排序后的内容输入到其它文件,使用选项(-o)可以指定需要注入的文件名。
- 还可以将进行去重(-u),可以是不连续的行,进行去重。
uniq:表示去重
- 主要注意的是它必须是连续的行,不然无法去重
- 可以根据选项,选择显示不重复的行(-u)
- 还可以选择显示重复的行(-d)
- 还可以统计连续重复的数量(-c)
tr:表示修改字符
- 可以修改对应的字符,按照字符对应一一修改,如果有重复的字符,它会按照最后一个字符对应的修改字符进行替换,如果对应的字符不够时,它会将修改的最后一个字符进替换。
- 还可以进行删除(-d),删除文本中所对应的字符
- 还可以进行去重(-s),但是去重的字符必须是连续在一起的两个字符(会保留其中一个),不然无法去重成功。
shell之常用工具(cut、sort、uniq、tr)相关推荐
- 【拔刀吧少年】之sort uniq tr cut eval常用命令
sort uniq tr cut eval 一.排序命令--sort 1.格式 2.常用选项 二.去除重复行操作命令--uniq 1.格式 2.常用选项 3.示例 三.字符转换命令--tr 1.格式 ...
- shell脚本——grep cut sort uniq tee diff paster tr等小工具的使用方法
shell脚本的一些小工具的使用方法 grep 语法和选项 实例 cut 语法和选项 实例 sort 语法和选项 实例 uniq 语法和选项 实例 tee 语法和选项 实例 diff 语法和选项 实例 ...
- shell之常用工具的使用
shell入门 文章目录 shell入门 一.文本处理工具 1. grep工具 2. cut工具 3. sort工具 4.uniq工具 5.tee工具 6.diff工具 7. paste工具 8. t ...
- 文本处理工具命令xargs, sort, uniq, tr, cut, paste, wc等
1. 计数命令wc wc -l [file]: 输出文件[file]的行数 wc -c [file]: 输出文件[file]的byte(字节)数 wc -m [file]: 输出文件[file]的字符 ...
- Shell——常用工具(cut、sed、awk、sort)
文章目录 一.cut 1.基本用法 2.示例演示 二.sed 1.基本用法 2.示例演示 三.awk 1.基本用法 2.示例演示 四.sort 1.基本用法 2.示例演示 一.cut 1.基本用法 c ...
- SHELL基础知识-工具篇-paste、tr
1.paste工具 paste工具用于合并文件行 常用选项: -d:自定义间隔符,默认是tab -s:串行处理,非并行 2. tr工具 tr用于字符转换,替换和删除:主要用于删除文件中控制字符或进行字 ...
- shell bash常用工具教程(curl,jq)
全栈工程师开发手册 (作者:栾鹏) 架构系列文章 curl curl -h来查看请求参数的含义 -v 显示请求的信息 -X 选项指定其它协议 get:curl -v 192.168.33.1:8080 ...
- shell之常用小工具(sort、uniq、tr、cut)
目录 一.sort 排序 1.格式 2.常用选项 3.sort 例子 1.不加任何选项 如:sort /etc/passwd 2. 去重 (sort -u) 3. 指定分隔符(-t),指定排序的列(- ...
- Shell之常用命令(diff、path、cut、sort、uniq、tr、path)
Shell之常用命令(diff.cut.sort.uniq.tr.path) diff命令 作用:比较两个文件或目录的不同 diff [options] target1 target2 比较结果读取方 ...
- Shell--常用小工具(sort、uniq、tr、cut)
文章目录 一.sort工具 1.语法格式 2.常用的选项 3.sort举例 二.uniq工具 1.语法格式 2.常用选项 3.uniq举例 三.tr工具 1.语法格式 2.常用选项 3.tr举例 四. ...
最新文章
- 分享--关于学习的一些事儿
- workspace-project-target关系与解耦工程结构总结
- java小基础之instanceof运算符
- 从迁移到Java 7的小技巧
- axios某一接口失败后不调用_axios 源码系列之如何取消请求
- scala 方法调用_Scala中的方法调用
- Table被web编程弃用的原因
- [牛客数据库SQL实战] 11~20题及个人解答
- 通过Web页面获取基站位置(Web端,源码下载)
- php评论倒序 zblog_ZblogPHP调用最新、评论最多、浏览最多、置顶文章
- Java将指定文件/文件夹压缩成zip、rar压缩文件--解決中文乱码
- Apple音视频播放器 QuickTime Player7.7.9 专业版
- 大型医院叫号管理系统源码
- 出差经历的人在囧途那一天
- svn的客户端从安装到运行
- 京东店铺托管引流技巧有哪些?
- Linux简介,linux终端符号含义
- matlab抢占时隙算法,基于公平性的D2D时隙调度算法
- 编程利器!有道词典命令行快速翻译
- cannot find implementation for com.xx.xx.xxDatabase. XXDatabase_Impl does not exist
热门文章
- 1192: 删除记录(结构体专题)
- Docker资源控制的Cgroup--CPU权重等--Block IO、bps和iops 的限制详细操作
- 伽卡他卡免费电子教室软件_笔记
- DEDE标签调用说明
- 神经网络第一篇——感受野的学习、计算与思考
- 计算机技能测试题五,计算机基本技能测试题(第五套
- matlab gram schmidt,如何在 MATLAB 中用 行代码实现 Gram-Schmidt 正交化
- 广东英语高考怎么计算机,2019广东高考英语听说考试大纲出炉!附三大题型得分套路!...
- 达人评测 华为手表 WATCH 3怎么样
- aardio - 【库】plusList——二次封装plus自绘组件库