【发布时间】:2016-01-04 07:19:32
【问题描述】:
我正在尝试编写一个条件来比较两个文本文件(我认为简单的“if [file1 == file2]”不起作用),我需要打开这些文件,然后比较它们。 谁能帮帮我?
【问题讨论】:
我正在尝试编写一个条件来比较两个文本文件(我认为简单的“if [file1 == file2]”不起作用),我需要打开这些文件,然后比较它们。 谁能帮帮我?
【问题讨论】:
为什么不能使用内置的diff 命令之类的
diff file1.txt file2.txt
【讨论】:
diff 绝不是“内置”。 cmp 在这里可能更合适(但通常可以互换用于自动使用)。
我会使用文件的 md5sum 之类的东西,并认为 md5sum 相等的文件是相等的。但请了解哈希函数的工作原理,例如见Wikipedia article an cryptographic hash functions。
试试这样:
S1=$(md5sum test1.txt | cut -d \ -f 1)
S2=$(md5sum test2.txt | cut -d \ -f 1)
echo $S1
echo $S2
if [ "$S1" = "$S2" ]; then
echo "same" ;
fi
【讨论】:
== 而不是=吗?
= 就可以了。
test 再次让我感到惊讶。 ;-)
[[ ... ]],它允许= 和==,参见例如wiki.bash-hackers.org/syntax/ccmd/conditional_expression