V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
anson264556364
V2EX  ›  macOS

MAC 删除重复文件推荐

  •  
  •   anson264556364 · 2024-03-13 08:12:03 +08:00 · 2601 次点击
    这是一个创建于 366 天前的主题,其中的信息可能已经有所发展或是发生改变。
    MAC 想要删除某一文件夹里面的重复文件,请问哪个工具好用?在网上搜的多是全盘搜索,想要单独删除某一文件夹里面重复的,不需其它。
    20 条回复    2024-03-14 13:04:11 +08:00
    Salud
        1
    Salud  
       2024-03-13 08:18:08 +08:00
    这个时候 Python 脚本应该比较顺手了
    wowodavid
        2
    wowodavid  
       2024-03-13 08:23:07 +08:00 via iPhone   ❤️ 2
    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`。

    使用这个脚本之前,请确保你完全理解了它的作用,并对你的数据进行了备份。这个脚本会无声地删除文件,只在删除时打印信息。
    wowodavid
        3
    wowodavid  
       2024-03-13 08:23:34 +08:00 via iPhone   ❤️ 4
    问题是,apfs 还需要删除重复文件吗?
    print
        4
    print  
       2024-03-13 08:49:08 +08:00
    前几天看到的开源项目 czkawka ,可以试试看,有命令行也有 gui
    kcccc
        5
    kcccc  
       2024-03-13 09:19:22 +08:00
    腾讯有个“柠檬清理”可以清理重复文件,能选择目录。
    kqq19930511
        6
    kqq19930511  
       2024-03-13 09:22:58 +08:00
    Vegetable
        7
    Vegetable  
       2024-03-13 09:35:12 +08:00
    显示所有重复文件 find -type f -exec md5sum {} \;|sort|uniq -w 32 --all-repeated=separate -D
    显示重复文件之一 find -type f -exec md5sum {} \;|sort|uniq -w 32 -d

    删除的话,命令拼接|cut -d ' ' -f 3- | xargs -I {} rm {}

    这么做想保留 1 个删除其他重复的命令还要更复杂的反选一下我不想了
    duxiansen
        8
    duxiansen  
       2024-03-13 10:02:42 +08:00
    @wowodavid 比如两份同样的文档在不同位置,你修改了 A 地方的,等下次用的时候,却不小心用了 B 地方的
    duxiansen
        9
    duxiansen  
       2024-03-13 10:04:59 +08:00
    Gemini 2: The Duplicate Finder
    xz410236056
        10
    xz410236056  
       2024-03-13 10:22:40 +08:00
    腾讯青柠
    xz410236056
        11
    xz410236056  
       2024-03-13 10:23:11 +08:00
    @xz410236056 #10 改名叫柠檬了
    Height
        12
    Height  
       2024-03-13 11:32:12 +08:00 via iPhone
    Duplicate File Finder
    unishare
        13
    unishare  
       2024-03-13 13:28:37 +08:00 via iPhone
    一直在用 Gemini ,可以指定文件夹
    ST0RMTR00PER
        14
    ST0RMTR00PER  
       2024-03-13 13:30:54 +08:00
    Gemini
    maladaxia
        15
    maladaxia  
       2024-03-13 14:59:24 +08:00
    dupeguru
    wclebb
        16
    wclebb  
       2024-03-13 15:40:02 +08:00
    Gemini 吧,不过它是付费。
    MacPaw Way Ltd 出品,如果介意只能看别的了。
    foru17
        17
    foru17  
       2024-03-13 18:29:26 +08:00
    luodan
        18
    luodan  
       2024-03-14 07:13:11 +08:00
    gemini 2 和 duplicate file finder 都是付费软件. 在打折的时候$2,$3 买的
    milo7pupu
        19
    milo7pupu  
       2024-03-14 07:46:46 +08:00
    删完全相同的文件,脚本就可以。如果是想清理相册,可能得用 Gemini 2 了
    MrKrabs
        20
    MrKrabs  
       364 天前
    @wowodavid 当然需要
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3543 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 05:02 · PVG 13:02 · LAX 22:02 · JFK 01:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.