暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

掌握Linux文件处理命令:详解wc、sort、uniq、diff

101

文件处理命令详解

1. wc
命令

  • 功能:统计指定文件中的字节数、字数、行数,并将统计结果显示输出。

  • 语法wc [选项] 文件

  • 常用选项

    • -c
      :统计字节数。
    • -l
      :统计行数。
    • -m
      :统计字符数(这个标志不能与 -c
      标志一起使用)。
    • -w
      :统计字数(一个字被定义为由空白、跳格或换行字符分隔的字符串)。
    • -L
      :打印最长行的长度。
    • --help
      :显示帮助信息。
    • --version
      :显示版本信息。
  • 参数说明

    • [选项]
      :可选参数,用于指定统计内容。
    • 文件
      :需要统计内容的文件。
  • 示例

    [root@centos ~]# wc -c /etc/hosts
    158 /etc/hosts
    [root@centos ~]# wc -l /etc/passwd
    45 /etc/passwd
    [root@centos ~]# wc -m /etc/hostname
    7 /etc/hostname
    [root@centos ~]# wc -w /etc/motd
    10 /etc/motd
    [root@centos ~]# wc -L /etc/issue
    21 /etc/issue

2. sort
命令

  • 功能:对指定文件进行排序并将结果写到标准输出。

  • 语法sort [选项]... [文件]...

  • 常用选项

    • -n
      --number-sort
      :按字符串数值排序,与 -g
      区别为不转为浮点数。
    • -g
      --general-number-sort
      :按通用数值排序,支持科学计数法。
    • -f
      --ignore-case
      :忽略大小写,默认大写字母不同。
    • -k
      --key=POS1[,POS2]
      :排序从 POS1 开始,若指定 POS2,则 POS2 结束,否则以 POS1 排序。
    • -t
      --field-separator=SEP
      :指定列的分割符。
    • -r
      --reverse
      :降序排序,默认为升序。
    • -h
      --human-numeric-sort
      :使用易读性数字(例如:2K,1G)。
    • -u
      --unique
      :去除重复的行。
    • -o
      --output=FILE
      :将输出写入文件。
  • 参数说明

    • [选项]
      :可选参数,用于指定排序方式和输出方式。
    • [文件]
      :需要排序的文件。
  • 示例

    [root@centos ~]# sort file.txt
    [root@centos ~]# sort -n file.txt
    [root@centos ~]# sort -u file.txt
    [root@centos ~]# sort -o sorted_file.txt file.txt

    其他示例

    $ sort -t ':' -k 3 -nr passwd ; 对 passwd 文件,以冒号 (:) 进行分割,然后对第三列以数字方式进行降序排序。
    $ du -h | sort -hr ; 将当前目录下的文件夹按大小排序。
    $ ps aux | sort -gr -k 4 | head -n 5 ; 查看系统进程中,内存占用最多的前 5 个进程信息。

3. uniq
命令

  • 功能:可以去除排序过的文件中的重复行,因此 uniq
    经常和 sort
    合用。

  • 语法uniq [选项]... [文件]

  • 常用选项

    • -c
      :统计出现的次数(count)。
    • -d
      :只显示被计算为重复的行。
    • -D
      :显示所有被计算为重复的行。
    • -u
      :显示唯一值,即没有重复值的行。
    • -i
      :忽略大小写。
  • 参数说明

    • [选项]
      :可选参数,用于指定显示内容和格式。
    • [文件]
      :需要处理的文件。
  • 示例

    $ sort file.txt | uniq ; 对 file.txt 文件,排序后去重。
    $ sort file.txt | uniq -d ; 显示 uniq.txt 文件中重复的行。
    $ sort file.txt | uniq -d -c ; 统计 uniq.txt 文件中重复行出现的次数。

4. diff
命令

  • 功能:比较两个文件,并输出两个文件的不同的行。

  • 语法diff [选项] [文件1或目录1] [文件2或目录2]

  • 参数说明

    • [选项]
      :可选参数,用于指定比较方式和输出格式。
    • [文件1或目录1]
      :第一个要比较的文件或目录。
    • [文件2或目录2]
      :第二个要比较的文件或目录。
  • 示例

    [root@centos ~]# diff file1.txt file2.txt
    1c1
    < Hello World
    ---
    > Hello CentOS

    非常感谢您读到这里!如果您觉得这篇文章对您有帮助,请不要忘记关注公众号。关注后,您将第一时间获得最新的AI、云计算、运维(Linux、数据库,容器等)技术,以及更多实用的技能干货。

    点击页面右上角的“关注”按钮,不错过任何精彩内容!

    扫码获取联系方式



文章转载自周同学带您玩AI,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论