假设我有 2 个配置文件,例如: 文件 1:
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
virtual_gid_maps = static:5000
文件2:
virtual_gid_maps = static:5000
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
如果你仔细观察,你会看到有一行以 开头,virtua_gid_*
但文件 1 将其放在文件末尾,但文件 2 将其放在文件头。
假设我有两个文件,它们的行相同,位置不同,但位置对我来说并不重要,重要的是存在或不存在。
我如何比较我的文件?
答案1
如果位置不重要,您可以对文件进行排序,然后执行比较。您必须将排序后的文件保存在临时区域中。
sort file1 > /tmp/file1
sort file2 > /tmp/file2
diff /tmp/file1 /tmp/file2
您可能还想尝试vimdiff
代替diff
.
答案2
如果文件只有简单的<name> = <value>
行(如您的示例),您可以执行以下操作:
$ cat file1 | sort > /tmp/sortedfile1
$ cat file2 | sort > /tmp/sortedfile2
$ diff /tmp/sortedfile1 /sortedfile2
只要周围有相同数量的空格,这就会起作用=