初学者的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的手册页 。