如何区分多个命令的输出?vimdiff最多可以支持四个文件,但diff它本身似乎恰好支持两个文件。 使用的某些变体是否可以直接实现diff,还是我必须将所有命令的输出保存到临时文件中,选择一个并将其与其余内容进行比较? 内容: 我必须检查多个服务器上某个命令的输出,看看它们是否都同意。目前,仅报告是否发现任何差异似乎是件好事,但如果可能的话,我想说:X%的服务器彼此同意,Y%的服务器彼此同意;或服务器Z是奇数。 我有一个四向多主LDAP设置,并且我想验证ContextCSN所有四个值是否彼此一致。 所以现在我做了: #! /bin/bash for i in {1..4}.ldap do ldapsearch -x -LLL -H ldap://$i -s base -b dc=example,dc=com contextCSN > $i.csn; done set -e for i in {2..4} do diff -q 1.csn $i.csn done 并检查脚本的错误代码。有更好的工具吗? 欢迎在Ubuntu 14.04上使用的任何工具。
这是我的patch命令的输出: Hunk #11 merged at 4184,4190. Hunk #12 merged at 4444. Hunk #13 merged at 4944. Hunk #14 NOT MERGED at 5106-5116. Hunk #15 merged at 5290. Hunk #16 merged at 5448. patch unexpectedly ends in middle of line Hunk #17 merged at 5608,5611. 命令是 patch -d ~/SOME_DIR -p1 --merge …
我的目录中有许多文件,我想检查它们是否唯一。为简单起见,假设我有三个文件:foo.txt,bar.txt和baz.txt。如果运行此循环,则将彼此进行检查: $ for f in ./*; do for i in ./*; do diff -q "$f" "$i"; done; done Files bar.txt and baz.txt differ Files bar.txt and foo.txt differ Files baz.txt and bar.txt differ Files baz.txt and foo.txt differ Files foo.txt and bar.txt differ Files foo.txt and baz.txt differ 对于我要处理的数百个文件,这将变得非常难以阅读;最好列出确实匹配的文件,然后我可以快速查看列表并确保文件仅匹配自己。从联机帮助页来看,我认为该-s选项可以完成此任务: $ …