我有五个不同的文件,所有文件都在不同的目录中,我想检查匹配的文件,并找出独特的文件。
我不知道该怎么办呢。
答案 0 :(得分:0)
您可以使用cksum ou md5sum来检测相同的文件:
find . -type f | while read f; do md5sum "$f"; done > tmp.txt
cat tmp.txt | cut -d" " -f1 | while read c
do n=`grep $c tmp.txt | wc -l`
if [ "$n" != "1" ]; then
grep $c tmp.txt
fi
done | sort -u
答案 1 :(得分:0)
您可以查看
的输出chksum "path1/file1" "path2/f2" "p3/f3" "p4/f4" "p5/f5" | sort
您还可以使用
创建一个循环遍历文件的脚本files=("path1/file1" "path2/f2" "p3/f3" "p4/f4" "p5/f5")
for i in {0..4}; do
((j=$i+1))
while [ $j -le 4 ]; do
diff "${files[i]}" "${files[j]}" >/dev/null
if [ $? -eq 0 ]; then
echo "${files[i]} and ${files[j]} are the same."
else
echo "${files[i]} and ${files[j]} are different."
fi
((j++))
done
done