J'ai un dossier avec de nombreux sous-dossiers contenant de petits fichiers tif (moins de 160 Ko) qui ont été fusionnés dans de plus gros fichiers pdf, ainsi que de gros fichiers tif de plusieurs pages.
Je souhaite supprimer tous les petits fichiers tif sans supprimer les plus gros fichiers (tif ou pdf) et conserver la structure de répertoires. Comment puis-je m'y prendre sous Linux en utilisant la ligne de commande?
find . -name "*.tif" -size -160k -delete
Exécutez d'abord la commande sans -delete
pour vérifier que les fichiers corrects ont été trouvés.
Notez le -
avant 160k
. Juste 160k
signifie exactement 160 kilo-octets. -160k
signifie moins de 160 kilo-octets. +160k
signifie plus de 160 kilo-octets.
Si vous voulez filtrer la taille en octets (comme 160 octets au lieu de 160 kilo-octets), vous devez l'écrire comme ceci: 160c
. Si vous écrivez simplement 160
, il sera interprété comme 160 * 512 octets. C'est une exigence étrange de la part de POSIX. Lisez ici pour plus de détails: https://unix.stackexchange.com/questions/259208/purpose-of-find-commands-default-size-unity-512-bytes