script no encuentra número de páginas en archivo PDF
Publicado por juan gonzalez (3 intervenciones) el 28/02/2019 03:14:55
Hola a todos y gracias de antemano.
Mi problema es el siguiente: En el terminal de linux, con el comando find hago un archivo (lista-PDF.txt) con la lista de archivos PDF de una carpeta (más de 7 mil, son de una biblioteca de investigadores...).
Hice un script que usando la herramienta pdftk busca los archivos con menos de 40 páginas y los copia a otra carpeta. Sin embargo se detiene en los primeros archivos y después no hace nada. Les adjunto un pedazo del archivo lista-PDF.txt para que se aprecie su estructura y por supuesto el script.
Gracias.
SCRIPT:
Trozo del archivo lista-PDF.txt
... ... ...
./libros-CARPETA-7/BADIOU_condiciones.pdf
./libros-CARPETA-7/BADIOU_el-siglo.pdf
./libros-CARPETA-7/BADIOU_filosofia-del-presente.pdf
./libros-CARPETA-7/BADIOU_la-etica_a.pdf
./libros-CARPETA-7/BADIOU_la-etica_b.pdf
./libros-CARPETA-7/LIBROS-investigar/Caminos.pdf
./libros-CARPETA-7/LIBROS-investigar/Historias-de-Colombia.pdf
./libros-CARPETA-7/LIBROS-compas/la-etnografia-hoy.pdf
./libros-CARPETA-7/libros-INSUM/Crisis de representacion.pdf
./libros-CARPETA-7/libros-INSUM/critica de la razon indolente - boaventura de sousa santos.pdf
... ... ...
Gracias una vez más...
Mi problema es el siguiente: En el terminal de linux, con el comando find hago un archivo (lista-PDF.txt) con la lista de archivos PDF de una carpeta (más de 7 mil, son de una biblioteca de investigadores...).
Hice un script que usando la herramienta pdftk busca los archivos con menos de 40 páginas y los copia a otra carpeta. Sin embargo se detiene en los primeros archivos y después no hace nada. Les adjunto un pedazo del archivo lista-PDF.txt para que se aprecie su estructura y por supuesto el script.
Gracias.
SCRIPT:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/bash
# -*- ENCODING: UTF-8 -*-
#limpia pantalla
clear
# verifica si el usuario es root
if [ "$(whoami)" != 'root' ];
then
echo "Es necesario ejecutar este script como root."
exit 1;
fi
# calcula cant, la cantidad de líneas del archivo lista-PDF.txt
cant=`wc -l lista-PDF.txt | cut -d " " -f 1`
# se procesa línea por línea el archivo lista-PDF.txt
i=1
while (test ${i} -le ${cant});
do
f=`sed -n "$i"p lista-PDF.txt` #se obtiene la línea número i
# se obtiene el número de páginas, k, para el archivo con ruta f
# pdftk es una herramienta para manejar archivos PDF
k=`pdftk $f dump_data output | grep -i NumberOfPages | cut -d " " -f 2`
if [ $k -le 40 ]; # que tenga menos de 40 pág
then
cp $f /home/kiko/Escritorio/artic-PDF/
exit 1;
fi
i=`expr $i + 1`
done
Trozo del archivo lista-PDF.txt
... ... ...
./libros-CARPETA-7/BADIOU_condiciones.pdf
./libros-CARPETA-7/BADIOU_el-siglo.pdf
./libros-CARPETA-7/BADIOU_filosofia-del-presente.pdf
./libros-CARPETA-7/BADIOU_la-etica_a.pdf
./libros-CARPETA-7/BADIOU_la-etica_b.pdf
./libros-CARPETA-7/LIBROS-investigar/Caminos.pdf
./libros-CARPETA-7/LIBROS-investigar/Historias-de-Colombia.pdf
./libros-CARPETA-7/LIBROS-compas/la-etnografia-hoy.pdf
./libros-CARPETA-7/libros-INSUM/Crisis de representacion.pdf
./libros-CARPETA-7/libros-INSUM/critica de la razon indolente - boaventura de sousa santos.pdf
... ... ...
Gracias una vez más...
Valora esta pregunta


0