• Linux第七节随笔 diff /uniq /stat


      

    linux第七讲(上)
    1.diff link
      作用:diff命令能比较单个文件或者目录内容。如果指定比较的是文件,则只有当输入为文本文件时才有效。以逐行的方式,比较文本文件的异同处。

        如果指定比较的是目录的的时候,diff 命令会比较两个目录下名字相同的文本文件。列出不同的二进制文件、公共子目录和只在一个目录出现的文件。
      参数:-a或--text  diff预设只会逐行比较文本文件。
         -c  显示全部内文,并标出不同之处。
          -H或--speed-large-files  比较大文件时,可加快速度。
          -i或--ignore-case  不检查大小写的不同。
          -r或--recursive  比较子目录中的文件。
          -u,-U或--unified=  以合并的方式来显示文件内容的不同。
          -y或--side-by-side  以并列的方式显示文件的异同之处。
          -W或--width  在使用-y参数时,指定栏宽
      语法:diff[参数][文件1或目录1][文件2或目录2]
        diff a.log b.log
          “3c3”表示文件第三行有不同
          "11,12d10"表示第一个文件比第二个文件多了第11和12行
        diff a.log b.log -y -W 50
          并列显示文件具体内容
          “|”表示前后2个文件内容有不同
          “<”表示后面文件比前面文件少了1行内容
          “>”表示后面文件比前面文件多了1行内容
        diff a.log b.log -c
          显示全部文本
          这种方式在开头两行作了比较文件的说明,这里有三中特殊字符:
          “+” 比较的文件的后者比前着多一行
          “-” 比较的文件的后者比前着少一行
          “!” 比较的文件两者有差别的行
        diff a.log b.log -u
          统一格式输出
          它的第一部分,也是文件的基本信息:
          --- log2014.log 2012-12-07 18:01:54.000000000 +0800
          +++ log2013.log 2012-12-07 16:36:26.000000000 +0800
          "---"表示变动前的文件,"+++"表示变动后的文件。
          第二部分,变动的位置用两个@作为起首和结束。
           @@ -1,12 +1,10 @@
          前面的"-1,12"分成三个部分:减号表示第一个文件(即log2014.log),"1"表示第1行,"12"表示连续12行。

          合在一起,就表示下面是第一个文件从第1行开始的连续12行。同样的,"+1,10"表示变动后,成为第二个文件从第1行开始的连续10行。

    2.uniq
      作用:过滤重复部分显示文件内容。
      参数:  - c 显示输出中,在每行行首加上本行在文件中出现的次数。它可取代- u和- d选项。
          - d 只显示重复行。
          - u 只显示文件中不重复的各行。
          - n 前n个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号)。
          +n 前n个字符被忽略,之前的字符被跳过(字符从0开始编号)。
          - fn 与- n相同,这里n是字段数。
          - sn 与+n相同,这里n是字符数。
      语法: cat file | sort | uniq -c
        查看文件中具体重复行

    3.stat
      作用:获取文件的属性,例如大小,最后的修改时间
      参数: -f 显示了有关文件系统(而非文件)的信息
          -t 显示了完全相同的信息
        语法:stat file -f -t

  • 相关阅读:
    Hello Springboot
    Spring AOP
    代理模式
    Spring 面向注解开发
    Spring Bean 的配置
    IDEA 14 for Mac 提示要安装java 6的修改
    NAS DIY
    Maven Jetty SSL配置
    图书管理系统(jsp+nysql实现)
    互联网+XX项目技术架构
  • 原文地址:https://www.cnblogs.com/LinuxSuDa/p/4282030.html
Copyright © 2020-2023  润新知