I have a folder with many sub-folders containing small tif files (less than 160kb) which have been merged together in bigger pdf files, together with some big multi-page tif files.
I want to delete all small tif files without deleting the bigger files (tif or pdf) and retaining the directory structure. How do I go about it on Linux using the command-line?
Best Answer
Run the command without
-delete
first to verify that the correct files are found.Note the
-
before160k
. Just160k
means exactly 160 kilobytes.-160k
means smaller than 160 kilobytes.+160k
means larger than 160 kilobytes.The
-type 'f'
forces the command to only act on files and skip directories. this would avoid errors if the path contains folders with names that match the pattern*.tif
.If you want to filter size in bytes (as in 160 bytes instead of 160 kilobytes) then you have to write it like this:
160c
. If you just write160
it will be interpreted as 160*512 bytes. This is a strange requirement by POSIX. Read here for more details: https://unix.stackexchange.com/questions/259208/purpose-of-find-commands-default-size-unit-512-bytes