Folgendes Problem: ich hab je zwei Verzeichnisse für Fotos und Videos und will wissen, in welchen Dateien sie sich unterscheiden (inklusive Unterverzeichnissen). Dabei interessiert mich nur das Vorhandensein der Dateien, nicht deren Inhalt.
Mit diff ging es nicht direkt, folgendes Script, quick’n’dirty
dirlocalphotos=Fotos/
dirlocalvideos=Videos/
dircloudphotos=~/CloudDrive/$dirlocalphotos
dircloudvideos=~/CloudDrive/$dirlocalvideos
find $dirlocalphotos -type f -printf "%f\n" | sort > local.txt
find $dirlocalvideos -type f -printf "%f\n" | sort >> local.txt
find $dircloudphotos -type f -printf "%f\n" | sort > cloud.txt
find $dircloudvideos -type f -printf "%f\n" | sort >> cloud.txt
diff cloud.txt local.txt
rm local.txt
rm cloud.txt
Funktioniert, tut, was es soll, ist verbesserbar, aber wozu die Mühe machen.
Etwas allgemeiner, mit Vergleich der Dateigröße:
dirlocal=.
dircloud=~/pCloudDrive/Urlaub-Japan
find $dirlocal -type f -printf "%f %s\n" | sort > local.txt
find $dircloud -type f -printf "%f %s\n" | sort > cloud.txt
diff cloud.txt local.txt
rm local.txt
rm cloud.txt
Dauerhaft bei ekkart.de