sdiff

以交互方式合并两个文件。(显示差异)输出到outfile

语法

  sdiff -o outfile [options] from-file to-file

选项

多个单字母选项(除非他们有参数)
可以组合成一个命令行参数

   -a     将所有文件视为文本并逐行比较,
          即使它们看起来不是文字

   -b     忽略空格的变化

   -B     忽略空行.

   -d     将算法更改为可能找到较小的集合变化,这使得sdiff变慢(有时候
          慢得多).

   -H     使用启发式方法来加速处理大文件
          有许多分散的小变化.

   --expand-tabs

          把tab转成空格

   -i     忽略大小写的变化; 考虑上下
          情况相同

   -I regexp
          忽略那些只插入或删除与regexp匹配的行

   --ignore-all-space
          忽略所有空格

   --ignore-blank-lines

          忽略空行

   --ignore-case
          考虑大写和小写的是相同的

   --ignore-matching-lines=regexp
          忽略所有匹配regexp.

   --ignore-space-change
          忽略空格的变化

   -l

   --left-column
          仅打印两行的左列

   --minimal
          将算法更改为可能找到较小的集合
          变化 这使得sdiff变慢(有时候
          慢得多).

   -o file
   --output=file

          将合并的输出放入文件中。合并时需要此选项

   -s
   --suppress-common-lines
          不输出公共行.

   --speed-large-files
          使用启发式方法来加速处理大型文件
          有许多分散的小变化

   -t     把tab转成空格

   --text 将所有文件视为文本并逐行比较
          行,即使它们看起来不是文本

   -v

   --version
          输出sdiff的版本号

   -w columns
   --width=columns
          最多NUM(默认130),每行的列输出

   -W    忽略所有空格

          in diff, -W in sdiff.

退出状态为0表示没有发现差异,1表示发现了一些差异,2表示故障

例子

比较二个文件的不同

$  sdiff -a test test1

比较两个文件的不同并输出过滤掉不需要的信息,把不同内容送至文本

$ sdiff -s 1.txt 1.txt.diff | sed -e 's#>[[:space:]]##g' -e 's/^[[:space:]]*//g' >diff.log

sdiff 命令实例:

linux命令:sdiff file1 file2 file2 file1 sdiff sdiff file1 file2rootopen.com
linux命令:sdiff file1 file2 file2 file1 sdiff sdiff file1 file2rootopen.com
2018-02-22 23:44:48

linux命令:sdiff <(ls /) <(ls /usr) /usr) <(ls /) <(ls sdiff sdiff <(ls /) <(ls /usr)rootopen.com
linux命令:sdiff <(ls /) <(ls /usr) /usr) <(ls /) <(ls sdiff sdiff <(ls /) <(ls /usr)rootopen.com
2018-03-15 11:50:48

Linux的Bash命令行(A-Z排序)