Öffnen Sie mehrere PDFs im Terminal

Ich versuche, alle PDFs in einem Ordner vom Terminal aus zu öffnen.

Wenn ich es tue

open *.pdf

Vorschau (meine Standard-PDF-Anwendung), öffnet nur eine davon.

  • Gibt es eine Möglichkeit, die Vorschau dazu zu bringen, alle zu öffnen?

  • Wenn nicht, welcher andere PDF-Viewer eignet sich dafür gut?

Danke!

Ausführen von Sierra 10.12.6 auf einem MB Pro.

Die Vorschau öffnet wahrscheinlich alle Dateien im selben Fenster. Siehe Seitenleiste.
@lhf Das dachte ich auch zuerst, aber es schien nicht so zu sein! (Bei mir funktionieren jedenfalls mehrere Fenster besser)
Vorschau verwendet, um mehrere PDFs zu öffnen, die auf diese Weise in einem einzigen Fenster gestartet wurden. Aber das hat sich zumindest in High Sierra geändert, da jetzt jedes in einem eigenen Fenster geöffnet wird. Es öffnet immer noch mehrere Bilder in einem einzigen Fenster, auch bekannt alsopen *.jpg

Antworten (2)

Wenn Sie nur eine Liste von PDFs auf einmal öffnen möchten, müssen Sie die Dateinamen (in Anführungszeichen eingeschlossen) wie folgt durch ein Leerzeichen trennen:

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

Dadurch wird jedes in einer Zeile angegebene PDF geöffnet.

Wenn Sie jedes PDF in einem bestimmten Verzeichnis öffnen möchten, verwenden Sie den Befehl (einfache for/do-Schleife):

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

Beide obigen Beispiele verwenden die mit der Datei verknüpfte Standard-App (Vorschau). Wenn Sie eine bestimmte App angeben-a möchten (vielleicht haben Sie einen anderen PDF-Viewer, möchten aber die Vorschau verwenden), verwenden Sie das Flag und geben Sie die App an:

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

Hinweis: Stellen Sie sicher, dass Sie den Variablennamen in Anführungszeichen (") setzen, um Leerzeichen und nicht druckbare Zeichen zu berücksichtigen. Wenn Sie beispielsweise eine Datei mit dem Namen "Meine PDF-Datei.pdf" haben, führt das Weglassen der Anführungszeichen dazu, dass der Befehl dies tut Versuchen Sie, jede Zeichenfolge ("My", "PDF" und "File") als separate Dateien zu öffnen.

Der erste Befehl, aufgrund von Shell-Globbing, open "file1.pdf" "file2.pdf" is exactly the same as öffne file*.pdf`

Die Manpage füropen in Sierra sagt immer noch:

 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.

Das heißt, Ihr erster Ansatz ist in der Regel auch der richtige. Das ist "normalerweise" wie in: Dieser openBefehl ist fehlerhaft (und die Vorschau ist auch fehlerhaft).

Wenn Ihre PDFs 'richtige' Dateinamen haben, dann ist alles gut und in einem Verzeichnis mit 20 PDFs werden alle PDFs so geöffnet, wie es die Manpage verspricht.

Wenn es jedoch „komische“ Dateinamen gibt, die auf HFS+ legal erlaubt sind (oder auf dem Dateisystem anders dargestellt werden), aber dafür bekannt sind, dass sie in einer Shell-Umgebung „schwierig“ sind, treten Probleme auf.

Die Globbing-Funktion für open ist defekt. Wenn beispielsweise ein Dateiname mit -(Minuszeichen) beginnt, wird das nächste Zeichen als weitere Option für den openBefehl interpretiert. Da für den Befehl nicht viele Optionen zur Verfügung stehen, openführt dies häufig zu einem Fehler. Leerzeichen in Dateinamen, alles, was in einem normalen Shell-Befehl maskiert werden müsste, scheinen für diesen Befehl beunruhigend zu sein.

Andere zu beobachtende Fehler sind, dass die Verwendung der Option open -a Preview.appnicht wie erwartet funktioniert. Außerdem scheint die Vorschau Ihre Einstellungen nicht zu berücksichtigen, ob neu geöffnete Dokumente alle ein eigenes Fenster erhalten sollen. Die Vorschau öffnet mehrere PDFs mit einem einfachen, open *.pdfaber alle diese Dokumente werden dann in der Seitenleiste eines einzelnen freigegebenen Fensters „versteckt“. Sie müssen dann auf die Dreiecke klicken, um anzuzeigen, dass jetzt mehrere Dateien geöffnet sind .

Eine Reihe von Dateien mit sauberen Namen in einem einzigen Arbeitsverzeichnis, auf das über open *.pdfPreview.app als Standard-PDF-Viewer zugegriffen wird, öffnet sie alle (nun, ich habe keine wahrscheinliche Obergrenze dafür überprüft …)

Damit bleiben nun folgende Optionen:

  • Stellen Sie entweder sicher, dass Sie saubere Dateinamen haben, und verwenden Sie dann Ihren ersten Befehl, da er der Dokumentation von Apple entspricht und leichter zu merken, einzugeben und zu verwenden ist
  • Vermeiden Sie sowohl Preview.app als auch die Optionopen -a Preview.app
  • Wenn beide oben genannten Optionen fehlschlagen, verwenden Sie nur die Lösung aus Allans Antwort
Eh. Schade, dass hier niemand Apples Bugs oder die Manpages des Unternehmens ablehnen kann, oder?
wenn es 'komische' Dateinamen gibt, --> das war hier definitiv der Fall, gut zu wissen -- danke für den Einblick!
@patrick Nun, wenn ich Dateien benenne, die ich erstelle, benenne ich sie unter Berücksichtigung der schwerwiegenden Einschränkungen der meisten Dateisysteme und meiner Neigung, eine CLI zu verwenden. Heruntergeladene Dateien sind oft eine Schachtel voller Pralinen…
@patrick btw: siehst du das (auch) auf HFS+ oder APFS?
Ich bin mir nicht ganz sicher – mein System ist Sierra 10.12.6 auf einem MB Pro, nicht ganz sicher, was zutrifft. ( Ich bin wirklich kein Mac-Experte, sorry ...)
Kein Problem. Ich war nur neugierig und habe aufgehört, das Zugwrack High Sierra zu testen. Sierra hat nur begrenzte Unterstützung für APFS, also wird Ihr Root-Volume HFS+ sein und Ihre Selbstbeschreibung macht es unwahrscheinlich, dass Sie irgendwelche APFS-Volumes herumfliegen haben. Perfekte Informationen für das, was ich gefragt habe. Danke.
High Sierra Preview hat sein Verhalten geändert. Die vorherige Vorschau öffnete mehrere PDF-Dateien in einem einzigen Fenster, wenn sie wie verwendet wurde open *.pdf. Jetzt öffnet es sie in mehreren Fenstern. Wird aber open *.jpgin einem einzigen Fenster geöffnet.