Abre varios PDF desde Terminal

Estoy tratando de abrir todos los archivos PDF en una carpeta desde la Terminal.

Cuando lo hago

open *.pdf

Vista previa (mi aplicación PDF predeterminada), abre solo uno de ellos.

  • ¿Hay alguna manera de obtener Vista previa para abrirlos todos?

  • Si no, ¿qué otro visor de PDF funciona bien para esto?

¡Gracias!

Ejecutando Sierra 10.12.6 en un MB Pro.

La vista previa probablemente abre todos los archivos en la misma ventana. Ver la barra lateral.
@lhf Eso es lo que pensé primero también, ¡pero no pareció hacerlo! (De todos modos, varias ventanas me funcionan mejor)
Vista previa utilizada para abrir múltiples archivos PDF lanzados así en una sola ventana. Pero al menos cambió en High Sierra, ya que ahora abre cada uno en su propia ventana. Todavía abre varias imágenes en una sola ventana, también conocido comoopen *.jpg

Respuestas (2)

Si solo desea abrir una lista de archivos PDF a la vez, solo necesita separar los nombres de los archivos (entre comillas) por un espacio de la siguiente manera:

open "file1.pdf" "file2.pdf" ... "fileN.pdf"

Esto abrirá todos los PDF especificados en una línea.

Si desea abrir todos los PDF en un directorio en particular, use el comando (bucle for/do simple):

for file in /Path_to_Directory/*.pdf; do open "${file}"; done

Ambos ejemplos anteriores usan la aplicación predeterminada asociada con el archivo (Vista previa). Si desea especificar una aplicación en particular (tal vez tenga un visor de PDF diferente pero quiera usar la Vista previa), use la -abandera y especifique la aplicación:

for file in /Path_to_Directory/*.pdf; do open -a Preview.app "${file}";  done

Nota: asegúrese de escribir el nombre de la variable entre comillas (") para tener en cuenta los espacios y los caracteres que no se pueden imprimir. Por ejemplo, si tiene un archivo llamado "Mi archivo PDF.pdf", si no incluye las comillas, el comando intente abrir cada cadena ("Mi", "PDF" y "Archivo") como archivos separados.

El primer comando, debido a la acumulación de shell, open "file1.pdf" "file2.pdf" is exactly the same as abre el archivo*.pdf`

La página de manual paraopen en Sierra todavía dice:

 You can specify one or more file names (or pathnames), which are inter-
 preted relative to the shell or Terminal window's current working direc-
 tory. For example, the following command would open all Word files in the
 current working directory:

 open *.doc

 Opened applications inherit environment variables just as if you had
 launched the application directly through its full path.  This behavior
 was also present in Tiger.

Eso significa que su enfoque inicial suele ser también el correcto. Eso es "generalmente" como en: este opencomando tiene errores (y la vista previa también tiene errores).

Si sus archivos PDF tienen nombres de archivo 'adecuados', entonces todo está bien y en un directorio con 20 archivos PDF, todos los archivos PDF se abrirán de la manera que promete la página de manual.

Sin embargo, si hay nombres de archivo 'divertidos', permitidos legalmente (o representados de manera diferente en el sistema de archivos) en HFS+ pero conocidos por ser 'difíciles' en un entorno shell, surgen problemas.

La función de englobamiento para abrir está rota. Si, por ejemplo, un nombre de archivo comienza con -(signo menos), el siguiente carácter se interpreta como otra opción para el opencomando. Dado que no hay muchas opciones disponibles para el opencomando, a menudo se produce un error. Los espacios en los nombres de archivo, todo lo que necesitaría escapar en un comando de shell normal, parece ser problemático para este comando.

Otros errores a observar son que el uso de la opción open -a Preview.appno funciona como cabría esperar. Además, parece que Preview no respeta sus preferencias sobre si los documentos recién abiertos deben tener su propia ventana. La vista previa abre varios archivos PDF con un simple open *.pdfpero todos esos documentos se "ocultan" en la barra lateral de una sola ventana compartida. Luego debe hacer clic en los triángulos para revelar que ahora hay varios archivos abiertos.

Una cantidad de archivos con nombres limpios en un solo directorio de trabajo al que se accede a través open *.pdfde Preview.app configurado como su visor de PDF predeterminado los abrirá todos (bueno, no verifiqué un límite superior probable en esto...)

Eso deja ahora las siguientes opciones:

  • asegúrese de tener nombres de archivo limpios, luego use su comando inicial ya que confirma la documentación de Apple y es más fácil de recordar, escribir y usar
  • evita tanto Preview.app como la opciónopen -a Preview.app
  • si ambas opciones anteriores fallan, solo entonces use la solución de la respuesta de Allan
Eh Lástima que nadie aquí puede rechazar los errores de Apple o las páginas de manual de la compañía, ¿no es así?
si hay nombres de archivo 'graciosos', --> ese fue definitivamente el caso aquí, es bueno saberlo -- ¡gracias por la información!
@patrick Bueno, si nombro los archivos que creo, los nombro teniendo en cuenta las severas limitaciones de la mayoría de los sistemas de archivos y mi inclinación a usar una CLI. Los archivos descargados son a menudo una caja llena de bombones...
@patrick por cierto: ¿estás viendo esto en HFS+ o APFS (también)?
No estoy muy seguro: mi sistema es Sierra 10.12.6 en un MB Pro, no estoy muy seguro de qué se aplica. (Realmente no soy un experto en Mac, lo siento...)
No hay problema. Es solo que tenía curiosidad y dejé de probar el tren descarrilado High Sierra. Sierra solo tiene soporte limitado para APFS, por lo que su volumen raíz será HFS+ y su autodescripción hace que sea poco probable que tenga volúmenes APFS volando. Información perfecta para lo que pedí. Gracias.
High Sierra Preview cambió su comportamiento. La vista previa anterior abriría múltiples pdf en una sola ventana si se usa como open *.pdf. Ahora, los abre en múltiples ventanas. Pero open *.jpgse abrirá en una sola ventana.