Apri diversi PDF dal Terminale

4

Sto cercando di aprire tutti i PDF in una cartella dal Terminale.

Quando faccio

open *.pdf

Anteprima (la mia applicazione PDF predefinita), ne apre solo una.

  • C'è un modo per ottenere in anteprima l'apertura di tutti loro?

  • In caso contrario, quale altro visualizzatore PDF funziona correttamente per questo?

Grazie!

Esecuzione di Sierra 10.12.6 su un MB Pro.

    
posta patrick 20.02.2018 - 19:48
fonte

2 risposte

1

Se vuoi semplicemente aprire un elenco di PDF tutti in una volta, devi solo separare i nomi dei file (racchiusi tra virgolette) da uno spazio come segue:

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

Questo aprirà tutti i PDF specificati su una riga.

Se vuoi aprire tutti i PDF in una particolare directory, usa il comando (semplice per / do loop):

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

Entrambi gli esempi sopra utilizzano l'app predefinita associata al file (Anteprima). Se vuoi specificare una particolare app (magari hai un visualizzatore di PDF diverso ma vuoi usare l'anteprima) usa il flag -a e specifica l'app:

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

Nota: assicurati di racchiudere il nome della variabile tra virgolette (") per tenere conto di spazi e caratteri non stampabili.Ad esempio, se hai un file denominato" My PDF File.pdf ", le virgolette non incluse il comando per provare ad aprire ogni stringa ("My", "PDF" e "File") come file separati.

    
risposta data 20.02.2018 - 20:11
fonte
0

La manpage per open in Sierra dice ancora:

 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.

Ciò significa che il tuo approccio iniziale di solito è anche quello corretto. Questo è "solito" come in: questo comando open è bacato (e Anteprima è bacato, anche).

Se i tuoi PDF hanno nomi di file "corretti", allora tutto va bene e in una directory con 20 PDF tutti i PDF saranno aperti nel modo in cui la manpage promette.

Tuttavia, se ci sono nomi di file "divertenti" legalmente consentiti (o rappresentati in modo diverso sul filesystem) su HFS + ma noti per essere "difficili" in un ambiente di shell, sorgono problemi.

La funzione di globbing per open è rotta. Se ad esempio un nome file inizia con - (segno meno) il carattere successivo viene interpretato come un'altra opzione per il comando open . Poiché non ci sono molte opzioni disponibili per il comando open , ciò genera spesso un errore. Spazi nei nomi dei file, tutto ciò che avrebbe bisogno di essere scappato in un normale comando di shell, sembra essere problematico per questo comando.

Altri bug da osservare sono che l'utilizzo dell'opzione open -a Preview.app non funziona come ci si potrebbe aspettare. Inoltre, sembra che Anteprima non rispetti le tue preferenze se i documenti appena aperti debbano avere tutti la propria finestra. L'anteprima apre più PDF con un semplice open *.pdf , ma tutti questi documenti vengono quindi "nascosti" nella barra laterale di una singola finestra condivisa. Devi quindi fare clic sui triangoli per rivelare che sono più file aperti ora.

Un numero di file con nomi puliti in una singola directory di lavoro a cui si accede tramite open *.pdf con Preview.app impostato come PDF-viewer predefinito li li aprirà tutti (beh, non ho controllato un probabile limite superiore su questo ...)

Questo lascia ora le seguenti opzioni:

  • o assicurati di avere nomi di file puliti, quindi usa il tuo comando iniziale come conferma la documentazione Apple ed è più facile da ricordare, digitare e usare
  • evita sia Preview.app che l'opzione open -a Preview.app
  • se entrambe le opzioni sopra hanno esito negativo, solo allora usa la soluzione dalla risposta di Allan
risposta data 28.02.2018 - 16:44
fonte

Leggi altre domande sui tag