OT - pdftk ODER Datei mittels bash aufräumen
Hallo, ich spiele hier etwas mit pdftk herum. Aktuell stehe ich deshalb vor folgendem Problem: "pdftk eine_datei.pdf dump_data" gibt die Meta-Daten fortlaufend aus. Mittels "pdftk eine_datei.pdf dump_data > meta.txt" werden diese Daten in die Datei "meta.txt" gespeichert. Ich brauche aber nicht die tausenden von Infos, sondern wirklich nur die Meta-Daten. Letzten Endes also alles bis zur der Zeile, wo z.B. "NumberOfPages: 33" steht. Aktuell mache ich das mit meinen zugegebener Maßen sehr bescheidenen Kenntnissen so: while read ZEILE ; do POINT=`echo $ZEILE | grep NumberOfPages` if [ "$POINT" != "" ] ; then echo "gefunden" break fi echo $ZEILE >> shrinked.txt done < meta.txt Daher 2 Fragen: 1. Gibt es einen Befehl für pdftk, der diese ganzen Seiteneinstellungen weglässt? In der Suche im Netz habe ich dazu leider nichts gefunden. Das wäre die schnellste und eleganteste Lösung. 2. Falls nicht, wie kann man meinen Code verbessern? Performance ist dabei nicht so wichtig. Ich programmiere viel in Delphi. Deshalb stört mich hier z.B. allein schon, dass die Eingabedatei ganz am Ende steht. weihnachtliche Grüße, Alex
Am 15.12.2022 um 18:49 schrieb Alex Winzer:
Hallo,
ich spiele hier etwas mit pdftk herum. Aktuell stehe ich deshalb vor folgendem Problem:
"pdftk eine_datei.pdf dump_data" gibt die Meta-Daten fortlaufend aus. Mittels "pdftk eine_datei.pdf dump_data > meta.txt" werden diese Daten in die Datei "meta.txt" gespeichert.
Ich brauche aber nicht die tausenden von Infos, sondern wirklich nur die Meta-Daten. Letzten Endes also alles bis zur der Zeile, wo z.B. "NumberOfPages: 33" steht.
Aktuell mache ich das mit meinen zugegebener Maßen sehr bescheidenen Kenntnissen so:
while read ZEILE ; do POINT=`echo $ZEILE | grep NumberOfPages` if [ "$POINT" != "" ] ; then echo "gefunden" break fi echo $ZEILE >> shrinked.txt done < meta.txt
Daher 2 Fragen:
1. Gibt es einen Befehl für pdftk, der diese ganzen Seiteneinstellungen weglässt? In der Suche im Netz habe ich dazu leider nichts gefunden. Das wäre die schnellste und eleganteste Lösung.
Da kann ich nicht helfen
2. Falls nicht, wie kann man meinen Code verbessern? Performance ist dabei nicht so wichtig. Ich programmiere viel in Delphi. Deshalb stört mich hier z.B. allein schon, dass die Eingabedatei ganz am Ende steht.
Superschnellschuss, ohne weiter groß darüber nach zu denken grep -B 99999 NumberOfPages meta.txt > shrinked.txt Listet 99999 Zeilen vor dem gefundenen Text auf Manfred
Hallo und danke für die Tipps: Am 15.12.2022 um 19:24 schrieb Manfred Kreisl:
Am 15.12.2022 um 18:49 schrieb Alex Winzer:
Hallo,
ich spiele hier etwas mit pdftk herum. Aktuell stehe ich deshalb vor folgendem Problem:
[...]
Ich brauche aber nicht die tausenden von Infos, sondern wirklich nur die Meta-Daten. Letzten Endes also alles bis zur der Zeile, wo z.B. "NumberOfPages: 33" steht.
[...]
2. Falls nicht, wie kann man meinen Code verbessern? [...]
Superschnellschuss, ohne weiter groß darüber nach zu denken
grep -B 99999 NumberOfPages meta.txt > shrinked.txt
Listet 99999 Zeilen vor dem gefundenen Text auf
Das war eine super Idee. Genau so mache ich das jetzt. Und was mir am besten gefällt: der Befehl (pdftk) steht jetzt am Anfang, so dass es nicht nur viel übersichtlicher ist, sondern mir eine 2. Datei erspart. Für die Nachwelt: pdftk "$1" dump_data | grep -B 99999 "PdfID1" > $tmp_file Gruß, Alex
participants (2)
-
Alex Winzer
-
Manfred Kreisl