• Shell--常用小工具(sort、uniq、tr、cut)



    一、sort工具

    sort是一个以行为单位对文件内容进行排序的工具,也可以根据不同的数据类型来排序。

    1.语法格式

    sort 选项 文件

    2.常用的选项

    -f:忽略大小写
    -b:忽略每行前面的空格
    -M:按照月份进行排序
    -n:按照数字进行排序
    -r:反向排序
    -u:等同于uniq,表示相同的数据仅显示一行
    -t:指定分隔符,默认使用[Tab]键分隔
    -o<输出文件>:将排序后的结果转存至指定文件
    -k:指定排序区域
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    3.sort举例

    不加任何选项
    不加任何选项默认按第一列升序,字母的话就是从a到z由上而下显示
    在这里插入图片描述

    以冒号进行分隔,按数字排序对第三列进行排序
    在这里插入图片描述
    将输出结果不在屏幕上输出,而是输出在passwd.bak文件
    在这里插入图片描述
    去重(-u)
    去掉1.txt文件中重复的行(重复的行可以是不连续的)
    在这里插入图片描述
    在这里插入图片描述

    二、uniq工具

    uniq 工具在Linux系统中通常与sort命令结合使用。用于报告或者忽略文件中的重复行

    1.语法格式

    uniq 选项 参数

    2.常用选项

    -c:进行计数
    -d:仅显示重复行
    -u:仅显示出现一次的行
    
    • 1
    • 2
    • 3

    3.uniq举例

    不加任何选项表示去掉连续的重复的行然后输出结果
    在这里插入图片描述
    在这里插入图片描述
    对重复的行进行计数并显示,这里我们用sort命令先进行排序,再统计字符出现的行数,不然会将不连续的相同数值次数进行输出
    在这里插入图片描述

    只显示出重复的行在这里插入图片描述
    只显示出现一次的行,也要使用sort命令先进行排序,才能真正的把出现一次的行显示出来
    在这里插入图片描述

    三、tr工具

    tr命令常用来对来自标准输入的字符进行替换、压缩和删除。可以将一组字符替换之后变成另一组字符,经常用来编写优美的单行命令,作用很强大

    1.语法格式

    tr 选项 参数

    2.常用选项

    -c:取代所有不属于第一字符集的字符
    -d:删除所有属于第一字符集的字符
    -s:把连续重复的字符以单独一个字符表示
    -t:先删除第一字符集较第二个字符集多出的字符
    
    • 1
    • 2
    • 3
    • 4

    3.tr举例

    将passwd.bak文件中的所有小写转换成大写
    在这里插入图片描述
    将bin替换成abc,就是将b替换成a,i替换成b,n替换成c
    在这里插入图片描述
    删除所有字母
    在这里插入图片描述
    压缩文本中连续重复的字符
    在这里插入图片描述
    删除除a-z之外的所有
    在这里插入图片描述

    四、cut工具

    cut命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
    如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一
    cut只擅长于处理单个字符为间隔的文本,-b只能分割字母,-c既可以分割字母也可以分割中文

    1.语法格式

    cut 选项 文件路径

    2.常用选项

    -b:按字节截取
    -c:按字符截取,常用于中文
    -d:指定以什么为分隔符截取,默认为制表符
    -f:通常和-d一起使用(表示截取第几列)
    
    • 1
    • 2
    • 3
    • 4

    3.cut举例

    表示查看passwd.bak中第一行第一列,(cut -d: -f1表示截取以:为分隔的第一列)
    在这里插入图片描述
    在这里插入图片描述

    小练习

    取日志访问量最高的10个IP

    在这里插入图片描述


  • 相关阅读:
    Git用户名/密码/邮箱,及设置git配置
    深入理解JavaScript-this关键字
    百行代码实现基于Redis的可靠延迟队列
    基于阿奎拉探索方法的灰狼优化算法
    selenium的各种操作
    2022年中职组“网络安全”赛项湖南省任务书
    【Python】使用python通过TCP或UDP,实现收发报文数据
    代码随想录算法训练营第二十九天| 491 递增子序列 46 全排列
    FreeRTOS自我救赎2之基本工程建立
    【生活】罗曼·罗兰语录
  • 原文地址:https://blog.csdn.net/S314118142/article/details/126226029