当前位置:网站首页>shell之常用小工具
shell之常用小工具
2022-08-08 10:59:00 【怕失眠】
目录
目录
一.sort
常用选项
| 选项 | 功能 |
|---|---|
| -t | 指定分隔符,默认使用 [Tab] 键或空格分隔 |
| -k | 指定排序区域,哪个区间排序 |
| -n | 按照数字进行排序,默认是以字母形式排序 |
| -r | 反向排序,默认升序, |
| -u | 等同于uniq,表示相同的数据仅显示一行,注意:如果行尾有空格去重就不成功 |
| -o | 将排序的结果转存至指定文件 |
sort 例子
1、不加任何选项 如:sort /etc/passwd
#默认以字符排序(a b c d),如果第一个字母相同,比较第二个,以此类推

sort -t: -k3 -n passwd 按照第三排数字进行排序

sort -t: -k3 -n -r passwd 按照第三排数字进行倒序

2、 去重 (sort -u)
去掉重复的内容并按顺序进行排序

3、 指定分隔符(-t),指定排序的列(-k),升序排列
以第3列数字进行排序

4、指定分隔符,指定排序的列,降序排列(-r)

二.uniq 举例
1、uniq 不加任何选项
去除重复的行,按原顺序排列


2、统计文件内容出现的次数 uniq -c
###前面是内容(字符或数字)出现的次数 后面是内容

3、 uniq -u 只显示出现1次的行

4、uniq -d 只显示有连续重复的行

5、 统计历史登录过系统的用户

结合sort使用

三、tr 转换或删除文件中的字符
1、tr功能及格式
可以用一个字符来替换另一个字符,
或者可以完全除去一些字符
还可以用来去掉重复的字符
从标准输入中替换,缩减和注释或删除字符,并将结果写到标准输出
格式: tr [选项] '字符集1' '字符集2'
2、tr 的常用选项
| 选项 | 功能 |
|---|---|
| -d | 删除字符 |
| -s | 删除所有重复出现的字符,只保留一个(如果是空行,全部去掉) |
| -c | 反向取值 |
3、tr 例子
①将所有小写换成大写 tr 'a-z' 'A-Z'

②当转换数值不足时,一直转换成最后一个 tr 'lisi' '123'

③ 将字符替换成特殊字符 tr 'i' ' '

④ 删除匹配到的字符 tr -d 'i'

⑤对连续的字符去重 tr -s 'i'

对连续的字符去重 tr -s 'w'

⑥tr -c 反向取值
[[email protected] mnt]#cat /dev/urandom |tr -dc '[:alnum:]' | head -c12
head -c 取字符 [:alnum:] 数字字母 12 取前12个

四、cut 列截取工具(切片)
1、cut概述
cut命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
如果不指定file 参数,cut命令将读取标准输入。必须指定 -b(字节) 、-c(字符) 或 -f(第几列) 标志之一。
字符和字节的区别
字节(byte) : 是计量单位,表示数据量多少,是计算机信息技术用于计量存储容量的一种计量单位,通常情况下1字节等于8位
字符(character) :计算机中使用的字母、数字、字和符号
一般在英文状态下,一个字母或字符占用一个字节, 一个汉字占用两个字节 。
2、常用选项
格式:cut [选项] [文件路径]
| 选项 | 功能 |
|---|---|
| -b | 按字节截取 |
| -c | 按字符截取,常用于中文 |
| -d | 指定以什么为分割符截取,默认为制表符 |
| -f | 通常和-d一起使用(表示截取第几列 |
3、cut 例子

cut -b 4截取第四个字符
cut -b 4,10-14 截取第四个字符及第10到14个字符

4、paste 粘贴
paste -d 指定分隔符

五、找出访问量最高的10个ip

边栏推荐
- ReentrantLock原理,ReentrantLock和synchronized区别
- 模式识别 学习笔记:第六章 其他分类方法 (持续更新中。。。)
- 【访谈】Eotalk Vol.01:Eoapi,我们希望以开源的方式构建 API 生态系统
- 七、图结构
- 力扣(LeetCode)219. 存在重复元素 II(2022.08.07)
- day02 -DOM—高级事件(注册事件、事件监听、删除事件、DOM事件流、事件对象、阻止默认行为、阻止事件冒泡、事件委托)—常用鼠标事件—常用的键盘事件
- 分分钟快速定制您的专属个性化软件应用——BizTool自动化工具简介
- LeetCode_487_最大连续1的个数Ⅱ
- 使用C# 调用api接口获取法定节假日(百度api)
- SCCM2012R2管理之版本更新
猜你喜欢

上海控安SmartRocket系列产品推介(二):SmartRocket Modeler可视化建模开发工具

详细讲解修改allure报告自定义的logo和名称中文

Machine learning model too slow?Look at Intel (R) extension to accelerate

分分钟快速定制您的专属个性化软件应用——BizTool自动化工具简介

Apple developer account application process full version

移动适配vw/vh方法—vw/vh实例—模拟B站手机端首页—获取样式教程视频

Classificition Loss in target detection

MySQL学习第一部分:认识MySQL

shell 创建LVM逻辑据卷

《STM32MP1 M4裸机CubeIDE开发指南》第二十四章 DAC实验
随机推荐
微服务负载均衡器LoadBalancer实战
关于振弦采集模块及采集仪振弦频率值准确率的问题
市面上有哪些经典的文档数据库呀?
典型的NoSQL数据库有哪些呢?
图数据库是使用什么作为数据模型的呢?
力扣(LeetCode)219. 存在重复元素 II(2022.08.07)
关系型数据库的优缺点是什么?
皕杰报表之数据校验与处理
使用ApacheBench来对美多商城的秒杀功能进行高并发压力测试
【地平线旭日X3派试用体验】WIFI连接,SSH登录,TogetherROS安装(第二节)
图数据库一般用于什么时候呢?
新款“廉价”SUV曝光,安全、舒适一个不落
gaussdb数据库连接报错:psycopg2.OperationalError: server closed the connection unexpectedly
三、集合与字典
彻底弄清楚session,cookie,sessionStorage,localStorage的区别及应用场景(面试向)
People's Congress Jincang database login, view database
卫星互联网真能替代 5G?
目标检测中的Bounding Box Regression Loss
Oracle ASM disk group replaces old storage scheme with new storage
关于振弦采集模块及采集仪振弦频率值准确率的问题