• sort 与uniq 简单用法


    sort

    功能:排序
    语法:sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]

    参数:
      -b   忽略每行前面开始出的空格字符。
      -d   排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
      -f   排序时,将小写字母视为大写字母。
      -i   排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
      -c   检查文件是否已经按照顺序排序。
      -m   将几个排序好的文件进行合并。
      -M  前面3个字母依照月份的缩写进行排序。
      -n   依照数值的大小排序。
      -o<输出文件>   将排序后的结果存入指定的文件。
      -r   以相反的顺序来排序。
      -t<分隔字符>   指定排序时所用的栏位分隔字符。
      -k 指定域
      --help   显示帮助。
      --version   显示版本信息。

    image

    sort –k1  # 按照第一列进行排列  k 指定某列  观察第一列

    image

    sort –k1  -n   # 按照第一列 根据数据从小到大排列  字母当0   观察第一列

    image

    sort -k2 -n album_photo_111.txt   #观察第二列

    image

    sort -k2 -n  -r  album_photo_111.txt   #观察第二列

    image

    uniq

    该命令各选项含义如下:

    – c 显示输出中,在每行行首加上本行在文件中出现的次数。它可取代- u和- d选项。

    – d 只显示重复行。

    – u 只显示文件中不重复的各行。

    – n 前n个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号)。

    +n 前n个字符被忽略,之前的字符被跳过(字符从0开始编号)。

    – f n 与- n相同,这里n是字段数。

    – s n 与+n相同,这里n是字符数。

    [root@stu100 ~]# cat test
    boy took bat home
    boy took bat home
    girl took bat home
    boy took bat home
    boy took bat home
    dog brought hat home
    dog brought hat home
    dog brought hat home

    看test文件的内容

    ============================================

    [root@stu100 ~]# uniq test
    boy took bat home
    girl took bat home
    boy took bat home
    dog brought hat home

    uniq命令不加任何参数,仅显示连续重复的行一次

    ============================================

    [root@stu100 ~]# uniq -c test
    2 boy took bat home
    1 girl took bat home
    2 boy took bat home
    3 dog brought hat home
    1

    -c 参数显示文件中每行连续出现的次数。

    ============================================

    [root@stu100 ~]# cat test |sort | uniq -c
    1
    4 boy took bat home
    3 dog brought hat home
    1 girl took bat home

    排序后再显示

    ============================================

    [root@stu100 ~]# uniq -d test
    boy took bat home
    boy took bat home
    dog brought hat home

    -d选项仅显示文件中连续重复出现的行。

    ============================================

    [root@stu100 ~]# uniq -u test
    girl took bat home

    -u选项显示文件中没有连续出现的行。

    ============================================

    [root@stu100 ~]# uniq -f 2 -s 2 test
    boy took bat home

    忽略每行的前2个字段,忽略第二 个空白字符和第三个字段的首字符,结果at home

    ============================================

    [root@stu100 ~]# uniq -f 1 test
    boy took bat home
    dog brought hat home

    忽 略每行的第一个字段,这样boy ,girl开头的行看起来是连续重复的行。

    ============================================

    [root@stu100 ~]# uniq -D test
    boy took bat home
    boy took bat home
    boy took bat home
    boy took bat home
    dog brought hat home
    dog brought hat home
    dog brought hat home

    显示所有重复的行,每个重复的行都显示

  • 相关阅读:
    MySQL数据库高可用集群搭建-PXC集群部署
    高性能高并发网站架构,教你搭建Redis5缓存集群
    redis连接错误3种解决方案System Error MISCONF Redis is configured to save RDB snapshots
    进程异常行为-反弹Shell攻击,KILL多个进程
    Laravel中我们登录服务器通过 Tinker 手动创建后台管理用户
    Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]解决
    Laravel:php artisan key:generate三种报错解决方案,修改默认PHP版本(宝塔面板)
    大型网站如何防止崩溃,解决高并发带来的问题
    PHP微信公众平台OAuth2.0网页授权,获取用户信息代码类封装demo(二)
    iOS开发 ReactiveCocoa入门教程 第二部分
  • 原文地址:https://www.cnblogs.com/gaoj87/p/3494614.html
Copyright © 2020-2023  润新知