Вероятно, вы должны были опубликовать это как комментарий к другому вопросу, но, опять же, вам понадобится больше репутации, чтобы сделать это.
Сценарий @ davidgo уже рекурсивный (он будет проходить через папки и подпапки). Вам нужно всего лишь изменить echo "$each NOT searchable"
чтобы изменить то, что он делает, находя файл без возможности поиска. Это должно сделать трюк:
Изменить: Были некоторые проблемы с тем, как скрипт обрабатывает пробелы в именах файлов и некоторые другие проблемы здесь и там. Я решил пересмотреть оригинальный сценарий Давидго, чтобы вы увидели еще несколько изменений, чем я говорил выше.
#! /bin/bash
if [[ ! "$#" = "2" ]]
then
echo "Usage: $0 /path/to/PDFDirectory /path/to/TARGETDirectory"
exit 1
fi
PDFDIRECTORY="$1"
TARGETDIR="$2"
while IFS= read -r -d $'\0' FILE; do
PDFFONTS_OUT="$(pdffonts "$FILE" 2>/dev/null)"
RET_PDFFONTS="$?"
FONTS="$(( $(echo "$PDFFONTS_OUT" | wc -l) - 2 ))"
if [[ ! "$RET_PDFFONTS" = "0" ]]
then
READ_ERROR=1
echo "Error while reading $FILE. Skipping..."
continue
fi
if [[ "$FONTS" = "0" ]]
then
echo "NOT SEARCHABLE: $FILE -- Copying to $TARGETDIR."
cp -v "$FILE" "$TARGETDIR/${FILE##*/}"
else
echo "SEARCHABLE: $FILE"
fi
done < <(find "$PDFDIRECTORY" -type f -name '*.pdf' -print0)
echo "Done."
if [[ "$READ_ERROR" = "1" ]]
then
echo "There were some errors."
fi
Сохраните этот скрипт в новом пустом файле, назовите его как copy_image_pdf
и сделайте его исполняемым через свойства файла (я предполагаю, что вы сделаете это в Ubuntu).
Затем запустите его из терминала, указав каталог PDF и каталог назначения, куда следует скопировать файлы PDF изображений, например:
copy_image_pdf /media/data/pdffiles /media/data/pdffiles-to-be-ocred