gpt4 book ai didi

linux - Md5 哈希来识别和存档图像

转载 作者:太空宇宙 更新时间:2023-11-04 11:17:21 26 4
gpt4 key购买 nike

这是我的第一个 bash 脚本,我正在努力解决所有问题并使脚本运行良好。该脚本用于存档它在 HDD/闪存驱动器上的多个目录中找到的所有指定的 .jpg 文件。有些文件名称相同但内容不同,因此我使用了 Md5 和来对它们进行哈希处理。

我在 Geany 中收到目录不存在错误,但它从命令栏运行正常,但缺少两个图像。我已经尝试了所有我能想到的来修复它。这是乱码吗?

#!/bin/sh

if [ ! -d "$1" ]; then
echo Directory "$1" cannot be found. Please try again.
exit
fi

if [ $# -eq 1 ]; then
echo "usage: Phar image_path archive_path"
exit
fi

if [ -d "$2" ]; then
echo "archive exists"
else
echo "the directory 'archive' does't exist. Creating directory 'archive'."
mkdir -p ~/archive
fi

find $1 -iname "IMG_[0-9][0-9][0-9][0-9].JPG" | cat > list.txt

[ -f ~/my-documents/md5.txt ] && rm md5.txt || break
while read line;
do md5sum $line | xargs >> md5.txt
done < list.txt

sort -k 1,1 -u md5.txt | cat > uniquemd5.txt
cut -d " " -f 2- uniquemd5.txt > uniquelist.txt

sort uniquelist.txt -r -o uniquelist.txt
for line in $(cat uniquelist.txt)
do
file=$(basename $line) path="$2/file"

if [ ! -f $path ];
then
cp $line $2
else
cp $line $path.JPG


fi

done

最佳答案

您没有防范文件夹和文件名中的空格。

例如:

cp $line $2 

应该是:

cp "$line" "$2"

您应该首先通过评估您引用的每个变量并添加“”来消除这些作为错误来源的空格。

如果您仍然遇到错误,请向我们提供所使用的参数以及不存在的目录。

关于linux - Md5 哈希来识别和存档图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20254363/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com