Я пытался пакетно переместить изображения из папки в новые папки, названные по размеру изображения (px) изображений. Я использовал эту команду, чтобы сделать это:
awk '{system("mv "$1 " ./"$4)}' sizes.log
Содержимое sizes.log было много строк в этом формате:
f122441728.jpg Exif.Photo.PixelXDimension Long 1 4032
Теперь мне больно известно о недостатках этого метода. Я не проверял свою команду и переместил много файлов в файл «1», потому что столбец $ 4 равен «1» во всех строках размера .log.
Я понял, что что-то было отключено и прервал команду, но около 500 снимков были удалены.
Я не уверен, как работает mv, но, насколько я понимаю, это произошло:
В каждой строке файл из столбца $ 1 был переименован в «1», но блоки данных файла изображения остались на диске.
Это предположение верно?
Есть ли у меня шанс на восстановление с фоторецептом например?
Мне бы пришлось заново собрать RAID на другой машине, но с этим мне повезло раньше. Я сортировал серию фотоотчетов по другой ошибке ..
редактирование:
После того, как я нашел резервную копию своих файлов (ууу!), Я пересмотрел процедуру, которая привела меня к моей ошибке, и использовал эти команды для сортировки моих файлов по папкам, названным по размеру изображений.
identify -format "%f %w\n" *.jpg >> siz.log
awk '{system("mkdir ./"$2"/")}' siz.log
awk '{system("mv "$1 " ./"$2"/")}' siz.log
обратите внимание на косую черту, это то, что раньше доставляло мне неприятности. Я пропустил его и не получил сообщений об ошибках от mv.