Aparentemente alguns arquivos profundamente enterrados foram deixados para trás por mv (eles não foram deletados após serem copiados).
Encontrei e excluí-os com este script:
#!/bin/bash
TARGET=/home/zoopp.unencrypted/
SOURCE=/home/zoopp/
find $TARGET -type f | while read file; do
RELATIVE_PATH=$(echo $file | sed -e 's/^\/home\/zoopp.unencrypted\///')
if [ -e "$SOURCE$RELATIVE_PATH" ]; then
TARGET_FILE="$TARGET$RELATIVE_PATH"
SOURCE_FILE="$SOURCE$RELATIVE_PATH"
echo "Found $TARGET_FILE -> $SOURCE_FILE"
MD5_TARGET=$(md5sum "$TARGET_FILE" | cut -d' ' -f 1)
MD5_SOURCE=$(md5sum "$SOURCE_FILE" | cut -d' ' -f 1)
echo -e "\tMD5: $MD5_TARGET -> $TARGET_FILE"
echo -e "\tMD5: $MD5_SOURCE -> $SOURCE_FILE"
if [ "$MD5_TARGET" != "$MD5_SOURCE" ]; then
echo -e "\tMissmatch."
echo -e "\tDeleting $TARGET_FILE."
rm -f "$TARGET_FILE"
echo -e "\tMoving $SOURCE_FILE -> $TARGET_FILE"
mv "$SOURCE_FILE" "$TARGET_FILE"
else
echo -e "\tMatch. Deleting $SOURCE_FILE"
rm -f "$SOURCE_FILE"
fi
echo
fi
done
Como uma observação: seria mais rápido verificar apenas uma diferença no tamanho do arquivo, em vez de comparar o hash MD5 de cada duplicata possível.