Você provavelmente deveria ter postado isso como um comentário sobre a outra pergunta, mas - então novamente - você precisaria de mais reputação para fazer isso.
@ O script do davidgo já é recursivo (ele passará por pastas e subpastas). Você só precisa modificar echo "$each NOT searchable"
para alterar o que faz ao localizar um arquivo não pesquisável. Isso deve fazer o truque:
Editar : houve alguns problemas com o modo como o script lidava com espaços em nomes de arquivos e alguns outros problemas aqui e ali. Eu decidi revisar o roteiro original do davidgo para que você veja mais algumas mudanças do que eu disse acima.
#! /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 $'copy_image_pdf /media/data/pdffiles /media/data/pdffiles-to-be-ocred
' 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
Salve este script em um novo arquivo vazio, nomeie-o como copy_image_pdf
e torne-o executável através das propriedades do arquivo (suponho que você faria isso no Ubuntu).
Em seguida, execute-o a partir de um terminal, fornecendo o diretório PDF e o diretório de destino em que os arquivos PDF da imagem devem ser copiados, por exemplo:
#! /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 $'copy_image_pdf /media/data/pdffiles /media/data/pdffiles-to-be-ocred
' 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