>

instant-thinking.de

just enough to get you started and leave you confused

Seiten aus vielen PDF-Dateien zählen

| Kommentare

Excuse me, wir haben 2023.

Aber trotzdem musste ich, aus durch und durch unerfreulichen Gründen1, eine ganze Menge PDFs aus einer ganzen Menge Verzeichnisse ausdrucken2. Und ich war mir überhaupt nicht sicher, ob denn die Tinte im uralten Tintenstrahler noch ausreicht, ich neue kaufen muss, oder ob ich doch endlich mal einen Laserdrucker erwerbe. Wie viele Seiten das wohl sind? frug ich mich…

Weil ich ganz wenig Lust hatte, das alles von Hand zu zählen, fand ich ziemlich schnell diesen superuser-Thread. Allerdings geht es da um viele PDFs in einem einzigen Verzeichnis. Ich hatte ein Verzeichnis mit vielen Unterverzeichnissen, das ganze sah ungfefähr so aus:

Verzeichnisstruktur
1
2
3
4
5
6
7
$ tree -d Steuern\ 2021/
Steuern\ 2021/
├── Haushaltsnahe\ Dienstleistungen
├── Kinderbetreuung
├── Spenden
├── Versicherungen
└── Werbungskosten

Und dann aber noch ein paar mehr Verzeichnisse und da drin jeweils viele PDFs…

Glücklicherweise war die Vorlage aber nur vor dem Semikolon für das Shell-Globbing 3 anzupassen: Anstelle des for i in *.pdf; für das Durchzählen aller Seiten aller PDFs im aktuellen Verzeichnis benutzt man dann for i in ./**/*.pdf; um alle PDFs in allen Unterverzeichnissen zu erwischen.

Dann konnte ich so nach allen Seitenzahlen einzeln gucken:

Die Seitenzahl aller PDFs einzeln ausgeben
1
2
3
4
5
6
7
8
9
10
11
$ for i in ./**/*.pdf; do echo $i && pdfinfo "$i" | grep "^Pages:"; done
./Haushaltsnahe Dienstleistungen/2021-10-19-Schmitz Haustechnik-Rechnung.pdf
Pages:           1
./Haushaltsnahe Dienstleistungen/2021-10-25-Fugentechnik Schorsch-Rechnung.pdf
Pages:           1
./Kinderbetreuung/2022-01-03-Jugendamt-Bescheid Elternbeiträge.pdf
Pages:           3
./Werbungskosten/2021-08-06-Heise-Rechnung ct 2021.pdf
Pages:           1
./Werbungskosten/2021-09-08-telekom-festnetzrechnung-September-2021.pdf
Pages:           2

Und so ein grand total ausgeben:

Die Summe aller Seiten aller PDFs ausgeben
1
2
$  for i in ./**/*.pdf; do pdfinfo "$i" | grep "^Pages:"; done | awk '{s+=$2} END {print s}'
169

169 Seiten, seufz… Schlussendlich habe ich dann, schon wieder, neue Tinte gekauft. Die kann ich jetzt aber immerhin absetzen. Ha, Profit!

(via: superuser)

  1. Es müssen Steuern erklärt werden…

  2. Ebenfalls so gar nicht erfreulich, musste aus Gründen aber sein…

  3. Man braucht nur eine aktuelle Shell (bash ab 4.0 oder zsh ab irgendwas) und aktiviertes globstar shopt

Comments