我有两个文件a.txt和b.txt 我想报告输出ONLY文件是否相同?
这样:
如果文件相同 - >报告
如果文件不同 - >不报告任何事情
我知道在diff中有一个-s选项可以报告文件是否相同但是当文件不同时它也会报告(并且我想在文件不同时报告)
哦,还有一个人认为我无法再安装任何其他内容
答案 0 :(得分:2)
您标记了问题linux
和batch-file
,这是相互矛盾的。这是一个批处理文件解决方案:
fc file1 file2 >nul && (echo same) || (echo different)
"不报告文件何时不同",只需跳过|| (echo different)
部分
答案 1 :(得分:1)
如果您有diff
可用,您也可以使用grep
。因此,通过diff
管道grep
输出以检查您获得的结果,并采取相应措施。 diff -qs
将输出"文件a.txt和b.txt相同"或"文件a.txt和b.txt不同"。因此,您可以检查是否存在"相同的"在输出中找到你的案例。
if diff -qs a.txt b.txt | grep -q identical; then
echo "Files are identical. Reporting"
else
# Do nothing
fi
或作为oneliner:
(diff -qs a.txt b.txt | grep -q identical) && echo "Files are identical."