Tengo una gran pila de pdf's y me gustaría renombrarlos por lotes según su contenido. (Todos ellos se pueden buscar). Y me gustaría hacerlo utilizando la interfaz de línea de comandos.
Son todas nóminas por lo que tienen una forma constante, y me gustaría renombrar por fecha.
Actualmente se denominan: nómina100 .. nómina308
La cadena para renombrar sería el componente de la fecha en Payment Date: 15/4/2016
He instalado pdfgrep usando home-brew y estoy buscando usando pdfgrep -HC 15 "Payment Date:" paySlip.pdf
que devuelve paySlip.pdf:Payment Date: 8/7/2016
He adjuntado mi código final de trabajo en una respuesta.
0 votos
¿Cómo se realiza la búsqueda en los PDF?
0 votos
Acabo de darme cuenta de que puedo buscar el contenido del pdf usando mdfind, que me dará la lista de archivos que contienen una cadena determinada.
mdfind annual -onlyin ./
Pero grep no arrojará ningún resultado de la misma búsqueda.grep annual *.*
0 votos
Así que, por favor, actualice su pregunta con el comando que ejecuta y sus resultados para un número de archivos. Entonces podemos añadir comandos para renombrar los archivos.
0 votos
Es una posibilidad remota. ¿Cuáles son los resultados de ?
grep --binary-files=text 'Payment Date:' file.pdf
? Dóndefile.pdf
es un único archivo pdf en el que se quiere buscar.0 votos
grep --binary-files=text 'Payment Date:' file.pdf
no ayuda. Estoy pensando en probar con pdftotext que aparentemente puedo instalar usando home-brew. apple.stackexchange.com/questions/155250/ .0 votos
No utilice
/
(a menos que quiera especificar carpetas), utilice, por ejemplo_
o algo similar.0 votos
@patrix, ¿te refieres al formato de la fecha de pago? las barras inclinadas ya se utilizan en el pdf
0 votos
Los nombres de archivo no pueden contener barras inclinadas, ya que se utilizan para separar los directorios en un nombre de ruta. Ejecución de
mv foo.txt bar/whatever.txt
moverá el archivo al directoriobar
(o falla si este directorio no existe), será no cambiar el nombre del archivo abar/whatever.txt
.