当前位置:网站首页>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
边栏推荐
- 微服务分库分表
- 5S软件就是将软件应用全维度简单化的软件系统
- Loadrunner12.0.2 installation and Chinese language pack installation (Chinese)
- 关于mysql联合索引的最左前缀原则以及b+tree
- 学习与尝试 --> 事件风暴
- 关于振弦采集模块及采集仪振弦频率值准确率的问题
- NLP和CV中的Local和Global建模
- 部署spark2.2集群(standalone模式)
- Machine learning model too slow?Look at Intel (R) extension to accelerate
- Apple developer account application process full version
猜你喜欢
随机推荐
JVM的GC讲解及调优
Postman使用简单演示
"Weekly Translate Go" This time we have something different!-- "How to Code in Go" series launched
深度学习网络结构图绘制工具及方法
Optional常用方法解析
贵州酒店集团特产券解析
文档数据库和列存储数据库有什么不同的嘛?
String equals hashcode
5S软件就是将软件应用全维度简单化的软件系统
LeetCode_14_最长公共前缀
How to uniformly handle error exceptions in embedded C programming?
自学脚手架——《热学》 by 李椿(第一,二,三,四,五章)
《STM32MP1 M4裸机CubeIDE开发指南》第二十四章 DAC实验
Hystrix熔断器
移动适配vw/vh方法—vw/vh实例—模拟B站手机端首页—获取样式教程视频
模式识别 学习笔记:第八章 特征提取
Solutions and ideas for the problem that Loadrunner's recording event is 0
Leetcode 105. 从前序与中序遍历序列构造二叉树
【Force】Add two numbers
LeetCode_1004_最大连续1的个数Ⅲ