gpt 写一个脚本就行创建一个 Mac 脚本来删除指定文件夹内的重复文件(保留其中一个副本)可以通过多种方式完成,其中一种有效方式是使用基于哈希值的比较。下面的脚本使用了`bash`和`md5`命令来识别和删除重复的文件。这个脚本只会保留每个文件的一个副本,删除其他所有的重复项。
请注意,运行此脚本之前,请确保你拥有足够的权限来读取目标文件夹和修改其内容,并且对你想要处理的数据进行备份,以避免意外的数据丢失。使用此脚本时应谨慎行事。
```bash
#!/bin/bash
# 替换下面的路径为你想要清理的文件夹路径
TARGET_DIR="/path/to/your/target/directory"
# 创建一个临时文件,用于存储已经处理过的文件的哈希值
PROCESSED_HASHES=$(mktemp)
# 遍历目标目录中的所有文件(不包括目录)
find "$TARGET_DIR" -type f -print0 | while IFS= read -r -d '' file; do
# 计算当前文件的 MD5 哈希值
MD5_HASH=$(md5 -q "$file")
# 检查这个哈希值是否已经存在于处理过的哈希值中
if grep -q "$MD5_HASH" "$PROCESSED_HASHES"; then
# 如果哈希值存在,这意味着我们已经遇到了一个重复的文件,可以删除它
echo "Deleting duplicate file $file"
rm "$file"
else
# 否则,将这个新的哈希值添加到已处理的哈希值中,保留这个文件
echo "$MD5_HASH" >> "$PROCESSED_HASHES"
fi
done
# 删除临时文件
rm "$PROCESSED_HASHES"
echo "Duplicate files deletion process is completed."
```
如何使用这个脚本:
1. 打开终端( Terminal )。
2. 使用`nano`或你喜欢的文本编辑器,创建一个新的脚本文件,例如,你可以命名为`
delete_duplicates.sh`。
3. 复制上面的脚本内容到这个文件中。
4. 替换`TARGET_DIR="/path/to/your/target/directory"`行中的路径为你想要查找和删除重复文件的目标文件夹。
5. 保存并关闭文件。
6. 让脚本具有可执行权限,通过运行`chmod +x
delete_duplicates.sh`。
7. 在终端中运行脚本:`./
delete_duplicates.sh`。
使用这个脚本之前,请确保你完全理解了它的作用,并对你的数据进行了备份。这个脚本会无声地删除文件,只在删除时打印信息。