初学者的Linux sdiff命令教程(6个示例)

初学者的Linux sdiff命令教程(6个示例)

在youcl中,我们已经讨论了多个专注于查找文件差异的命令行实用程序 。 但还有更多这样的工具,在本教程中,我们将使用一些易于理解的示例来讨论这种命名为sdiff的命令。

请注意,本文中提到的所有示例都已在Ubuntu 16.04 LTS上进行了测试。

Linux sdiff命令

sdiff命令以并排形式显示文件差异。 以下是它的语法:

sdiff [OPTION]... FILE1 FILE2

以下是手册页描述的方式:

sdiff - side-by-side merge of file differences
Side-by-side merge of differences between FILE1 and FILE2.

以下是一些问答样式的例子,应该给你一个关于这个工具如何工作的好主意。

Q1。 sdiff命令如何工作?

基本用法很简单,您只需运行带有文件名作为参数的sdiff命令即可。 例如:

sdiff file1 file2

file1和file2在我的情况下完全一样。

这里是在这种情况下产生的输出sdiff:

这种类型的输出意味着文件没有区别。

Q2。 如何让sdiff忽略大小写?

假设file1和file2包含以下行:

命令:

sdiff file1 file2

产生以下输出:

第二列第一行中的管道(|)表示这两个文件在第一行本身中是不同的。 然而,如果你愿意,你可以强制sdiff忽略大小写,你可以使用-i命令行选项来完成。

sdiff -i file1 file2

因此,您可以看到输出现在显示两个文件是相同的,这意味着案例差异被忽略。

Q3。 如何让sdiff忽略空格?

如果任何文件包含空格,sdiff命令将默认显示差异。 但是,如果需要,可以使用-Z命令行选项禁止此行为:

然后还有其他几个与空间相关的选项,您应该注意。 这里是一个列表:

-E, --ignore-tab-expansion
              ignore changes due to tab expansion
-b, --ignore-space-change
              ignore changes in the amount of white space
-W, --ignore-all-space
              ignore all white space

Q4。 如何让sdiff忽略空行?

就像空格一样,默认情况下,sdiff命令也会占用空白行。 例如:

但是,可以使用-B命令行选项使该命令忽略空行。

sdiff -B file1 file2

所以你可以看到sdiff命令在这种情况下并不考虑空行。

Q5。 如何使sdiff压制通用行?

假设这些文件包含一些公用行,并且您希望sdiff命令禁止公用行,那么可以使用-s命令行选项执行此操作。

sdiff -s file1 file2

Q6。 如何让sdiff使用不同的diff程序?

默认情况下,sdiff使用diff来执行比较。 但是,如果你愿意,你甚至可以用你选择的程序来替换差异。 为此,请使用需要程序名称作为输入的--diff-program选项。

sdiff --diff-program=[PROGRAM] file1 file2

结论

Sdiff工具可能提供了很多功能,但它的学习曲线并不那么陡峭。 你所需要做的只是一点练习,你应该很乐意去。 我们在这里讨论了大多数命令行选项。 如需更多信息,请前往sdiff的手册页

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏