Одновременно перемещать файлы с длинными списками в новое место

Я использую замечательную программу под названием ExifTool для рекурсивного переименования большой партии файлов.

Вот пример использования:

$ exiftool -r -ext JPG '-FileName<CreateDate' -d %Y%m%d_%H%M%S.jpg . Error: './folder1/110310_135433.jpg' already exists - ./folder1/source.jpg Warning: No writable tags found - ./folder2/110404_095111.jpg 68 directories scanned 1650 image files updated 5 image files unchanged 2 files weren't updated due to errors 

При обработке очень больших партий изображений количество файлов, не обновляемых из-за ошибок, часто бывает в сотнях, поэтому перемещение каждого файла по отдельности с mv может быть и речи.

Я хотел бы одновременно перемещать файлы с ошибками / предупреждениями в отдельный каталог для дальнейшей обработки.

Мне нужно извлечь пути из файлов проблем из вывода терминала и сместить их вместе, но я не уверен, как это сделать.

Как я могу это сделать?

Для чего это стоит, я использую Ubuntu 11.10.

2 Solutions collect form web for “Одновременно перемещать файлы с длинными списками в новое место”

Это извлечет имена файлов из ошибок / предупреждений exiftool и создаст дерево каталогов реплики под папкой `unprocessed 'только с этими файлами. Не пытались просто переместить их в один каталог, чтобы избежать риска перезаписи файлов с тем же именем, но с разными исходными каталогами.

 exiftool ... 2>&1 | tee exiftool.log | egrep '^(Error|Warning)' | \ sed 's/^Error: .* already exists - //;s/^Warning: .* - //' | \ while IFS= read -r img; do rsync -vR -- "$img" unprocessed/ #rm -v -- "$img" done 

Часть sed учитывает только вывод предоставленного примера, я не знаком с инструментом и его возможными выходными сообщениями.

EDIT: часть rm закомментирована, потому что вам лучше попробовать это в первую очередь.

Решение ExifTool должно добавить% c к имени файла (или %% c в аргументе -d). Это приведет к добавлению количества копий в файлы с дублирующимися именами.

  • Может ли sshfs монтировать локальные диски?
  • Файл asound.conf поврежден, не позволяет воспроизвести правильную звуковую карту, в результате она продолжает терпеть неудачу
  • Как выбрать адекватный дистрибутив Linux для данного оборудования?
  • Открыть порт для передачи bittorrent
  • «Ошибка: нет такого устройства» при загрузке в Ubuntu Server 11.10 с Raid1
  • ubuntu + добавить root для новой учетной записи пользователя
  • Подключить сервер OpenVPN к гостевой виртуальной машине Ubuntu
  • Виртуальная консоль приостанавливает воспроизведение видео и аудио в KDE
  • Powertop не отображает Power est. Column
  • Как увеличить таймер перед вращением диска?
  • DNSMASQ на Ubuntu в VM не предлагает аренду клиенту
  • Linux и Unix - лучшая ОС в мире.