根据md5哈希值

时间:2015-11-24 14:19:17

标签: linux bash shell sh

我正在使用find命令查找格式为'DGT _ ????。JPG'的文件。我试图让下面的脚本记录源目录中具有相同名称和相同哈希的任何文件的绝对路径,如果它与目标目录中的文件匹配。我还希望将这些文件从源目录复制到目标directoyr。然后我想将它们记录到一个名为'dups.txt'的新文本文件中。似乎无法在网上找到明确的答案,所以这就是我发布这个问题的原因。谢谢,相当新的Linux。

我的代码在

下面
#!/bin/sh
clear
SRC="$1"
DEST="$2"

if [ "$#" -eq 0 ]; then
    echo "two arguments required"
fi

if [ ! -d "$SRC" ]; then
    echo "Source directory does not found"

fi


if [ ! -d "$DEST" ]; then
    mkdir "$DEST"
fi


for image in $(find "$SRC" -type f -iname DGT_[0-9][0-9][0-9][0-9].JPG)
do
    md5sum=$(md5sum < "$image")        
    for duplicate in "$DEST"  
    do
        [ "$image" = "$duplicate" ] && continue      
        [ "$md5sum" = "$(md5sum < "$duplicate")" ] >> dups.txt  
    done
    cp --backup --suffix=.JPG     "$image" "$DEST"
done

1 个答案:

答案 0 :(得分:1)

jgot8 - 我实际上相信给出的任务指定你应该将这些重复的匹配保存在名为duplicates.txt的文件中,而不是dupes.txt

我相信当我与你讨论时,你能够完全解释这些概念,以奖励你的35%吗?

明天上午9点我们将讨论这个问题。

-Jim