file=$3
#Using $3 as I am using 1 & 2 in the rest of the script[that works]
file_hash=md5sum "$file" | cut -d ' ' -f l
#generates hashes for file
for a in /path/to/source/* #loop for all files in directory
do
if [ "$file_hash" == $(md5sum "$a" | cut -d ' ' -f l) ]:
#if the file hash is equal to the hash generated then file is copied to path/to/source
then cp "file" /path/to/source/*
else cp "$file" "file.JPG" mv "file.JPG" /path/to/source/$file #otherwise the file renamed as file.JPG so it is not overwritten
fi
done
誰でもこのコードで私を助けることができますか? ディレクトリ内のすべてのファイルのハッシュを生成するスクリプトを Bash で作成しようとしています.2 つの重複したハッシュがある場合、画像の 1 つだけが宛先ディレクトリにコピーされます。ここ?
md5sum を使用する必要があるため、残念ながら他の sha1 や fdupes などはありません。