Intereting Posts
Что такое отсутствие разрешения группы в новых каталогах? Как извлечь журналы между двумя отметками времени, строка может начинаться с даты и времени Не удается получить vga-passthrough, работая с xen-4.5 Параметры командной строки в сценарии bash не распознаются Как я могу скопировать WAV-файл из аудио компакт-диска и проверить его? Периодически запускать определенный скрипт во время загрузки Обратитесь к файлу в том же каталоге сценария, найденного в $ PATH Унаследованный компьютер, пытаясь загрузить USB, но не работает Можно ли объединить два сеанса экрана в цепочку? Как пропустить тайм-аут 90s в systemd Синхронизировать / var или нет? Проблема настройки GPU pinentry Есть ли какие-либо преимущества в построении ядра как 64-битного, хотя пространство пользователя в 32 бит? BackTrack Linux не показывает рабочий стол после установки iostat сообщает о огромной записи на диски, которые даже не установлены

Рекурсивно найти и переместить поврежденные PDF-файлы

Проблема

Я использовал python-skydrive для загрузки файлов на свой компьютер, и я случайно повредил большое количество моих PDF-файлов. Когда я пытаюсь просмотреть их в Document Viewer, появляется следующее сообщение об ошибке:

Текстовый текстовый документ типа текста (текстовый / обычный) не поддерживается

  $file ny.pdf $ny.pdf 

Мой запрос

Я ищу инструмент командной строки или фрагмент, который позволит мне рекурсивно находить файлы PDF в папке и ее вложенных папках, а затем переместить поврежденные файлы в указанную папку.

Я использую Ubuntu 13.10 на x64 ПК.

После расследования (см. Комментарии в вопросе) оказалось, что «поврежденные» файлы были фактически пустыми. Это может произойти, когда программа загрузки создаст записи в файловой системе, но не сможет загрузить их содержимое.

Чтобы найти их в текущем каталоге и его подкаталогах и переместить их в каталог с именем trash в вашем домашнем каталоге, например, вы можете использовать команду find .

 find . -name '*.pdf' -size 0 -exec mv -t ~/trash {} \+