Skip to main content
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Moin moin,
heute mal wieder ein kleines Hackerproblem.
Ich bin gerade auf einen Ordner mit pdf-Dateien gestossen, welche aus
einer Rettungsaktion stammen. Das Format sieht so aus f123456789.pdf
Die Nummer ist von Testdisk bzw. Photorec den Rettungsprogrammen
gewählt worden.
Da es sich um sehr kleine Dateien mit häufig nur einer Seite Inhalt
handelt möchte ich die Tausend Dateien in große PDFs zusammenführen.
Das mache ich so:
pdftk *.pdf cat output neue_pdf.pdf
Das Problem ist, dass viele Dateien defekt bzw. durch ein Passwort
geschützt sind.
Wie kann ich diese aussortieren und löschen ?
Diese Dateien verursachen einen Abbruch.
Bei Dos gab es doch da etwas mit Errorlevel.
Dank schon mal und Gruß
Ralf
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with undefined - http://www.enigmail.net/
iQEcBAEBAgAGBQJR1RQjAAoJED3lSBdlhI53LkoIAL4McAHF0ArgEgQ2c4ZEBYqD
y+ppw9shIaxXyr6WIIs6w1ASaFK3yM6LPSp7ytkMnu09jLZu003iutrbV8ceeAC3
cyP/vjmYG6/qOrgmUR82wagAkHrPjD8uwbs7fWUb+duclJ8M6HuM6WIbtAGo8SVN
KzuhsJhI+XFUVrUqBcnPwzYebZkodjRu9GPrECZhqohKpQ48sZq6/HqpraVCRJ10
p+ZBHr6H44VIXsnQpVzPqHb3kC607VNp8ZCxzsBfmjSx8VFxORE1VmxPIGiU7mkM
WWKb/KM6B6pnD01aXcVh2LYpm0TZ+2rr99jUC0F/4rsi5eIgy7UQuqWlWEFy+FA=
=iI6v
-----END PGP SIGNATURE-----
_______________________________________________
Ubuntu mailing list
Ubuntu@easylinux.de
http://www.easylinux.de/Kontakt/Mailinglisten/listinfo/ubuntu
Hallo Ralf,
flecralf schrieb am 04.07.2013 um 08:20:
>Da es sich um sehr kleine Dateien mit häufig nur einer Seite Inhalt
>handelt möchte ich die Tausend Dateien in große PDFs zusammenführen.
>Das mache ich so:
>pdftk *.pdf cat output neue_pdf.pdf
>Das Problem ist, dass viele Dateien defekt bzw. durch ein Passwort
>geschützt sind.
pdftk kennt doch die Option input_pw
Da muss man natürlich das Passwort kennen.
>Wie kann ich diese aussortieren und löschen ?
>Diese Dateien verursachen einen Abbruch.
>Bei Dos gab es doch da etwas mit Errorlevel.
Welchen Rückgabewert der letzte ausgeführet Befehl hat, kannst Du aus
der Variable $? auslesen. Erfolgreich heißt Null.
Mal schnell was zusammengeschustert. Bitte unbedingt an Copien testen.
#alle Dateinamen in Array schreiben
filearray=$(find . -name "*.pdf")
#Array durchlaufen
for filename in ${filearray[*]}
do
#Datei öffnen
pdftk input_pw ${filename} cat
#erfolgreich ?
if (( ${?} != 0 )); then
#nein
#lösche Datei
rm ${filename}
fi
done
Viele Grüße
Uwe
- --
Debian GNU/Linux 7 Kernel 3.2.0-4-686-pae Xfce 4.8
Version: GnuPG v1.4.12 (GNU/Linux)
iEYEARECAAYFAlHVG0oACgkQeMCgotvSIGfO7QCg17IlUGNnX+YzJjMKTq2x+8H1
LDoAniwEKfbVUiKuJW8/XERvXTPX8Qfq
=VxLX
Am 04.07.2013 08:50, schrieb Uwe Herrmuth:
> Hallo Ralf,
>
> flecralf schrieb am 04.07.2013 um 08:20:
>> Da es sich um sehr kleine Dateien mit häufig nur einer Seite
>> Inhalt handelt möchte ich die Tausend Dateien in große PDFs
>> zusammenführen. Das mache ich so: pdftk *.pdf cat output
>> neue_pdf.pdf Das Problem ist, dass viele Dateien defekt bzw.
>> durch ein Passwort geschützt sind.
> pdftk kennt doch die Option input_pw Da muss man natürlich das
> Passwort kennen.
>> Wie kann ich diese aussortieren und löschen ? Diese Dateien
>> verursachen einen Abbruch. Bei Dos gab es doch da etwas mit
>> Errorlevel.
> Welchen Rückgabewert der letzte ausgeführet Befehl hat, kannst Du
> aus der Variable $? auslesen. Erfolgreich heißt Null.
> Mal schnell was zusammengeschustert. Bitte unbedingt an Copien
> testen.
> #alle Dateinamen in Array schreiben filearray=$(find . -name
> "*.pdf") #Array durchlaufen for filename in ${filearray[*]} do
> #Datei öffnen pdftk input_pw ${filename} cat #erfolgreich ? if ((
> ${?} != 0 )); then #nein #lösche Datei rm ${filename} fi done
> Viele Grüße Uwe
> _______________________________________________ Ubuntu mailing
> list Ubuntu@easylinux.de
> http://www.easylinux.de/Kontakt/Mailinglisten/listinfo/ubuntu
Hallo Uwe,
Danke für das Skript.
Ich kenne keines der Passwörter, die Dateien können einfach gelöscht
werden. Aber wenn ich das Skript richtig deute soll es auch alle nicht
korrekten Passwörter mit Löschen behandeln
Das Skript löscht allerdings alle Dateien und legt keine Sammeldatei an.
Fehlermeldung:
Errors encountered. No output created.
Done. Input errors, so no output created.
Gruß
iQEcBAEBAgAGBQJR1TM9AAoJED3lSBdlhI53jxQIAKSpa1usllpmYuJpgYz/qmRz
UzCgJvTZLaOEr7IzV+7EEtCuqCQwJ4gBnge69A/ZsYm3G3nHQad6h9ooXSN180lT
nlFBhEWizzy3VmBOgt+1Z7Qg4RDfOnOx8AZEU0h/CUrn7IFpqA0oOm8FMqDdVnQ0
B7szyX5u9vqyVAg5Y8rGvhm/PmFmrpHoB1cFcbCB36GDXW0HKD2nMjld9iOD0MUz
FiiAq758LZ7XCXoJnOsokEbzfAgbXi9a+52qNUv7XCgxB1PTrjdHPYnu/SARfGmB
MXOnPIl1fNs+Ivt+fqhYZ15d2vmimsI9T4kesBevYiehSZSXtb584gdxOAG38m4=
=3lOk
flecralf flecralf schrieb am 04.07.2013 um 10:33:
>Danke für das Skript.
>Ich kenne keines der Passwörter, die Dateien können einfach gelöscht
>werden.
Alles klar.
>Aber wenn ich das Skript richtig deute soll es auch alle nicht
>korrekten Passwörter mit Löschen behandeln
> Das Skript löscht allerdings alle Dateien und legt keine Sammeldatei an.
>Fehlermeldung:
>Errors encountered. No output created.
>Done. Input errors, so no output created.
Ja - sowas kommt vom schnellen Zusammenschustern ohne testen.
Hab noch mal nachgebessert.
#keine Unterverzeichnisse durchsuchen
filearray=$(find . -maxdepth 1 -name "*.pdf")
#Operation cat verlangt nach einem Output-File
pdftk ${filename} cat output /dev/null
#alle restlichen Dateien zusammenführen
iEYEARECAAYFAlHVUAEACgkQeMCgotvSIGcM5QCeL4FhmIF7gsEo4ckmIkE/KSWx
kZIAnj0zTEs1tXqZ4hEuAaH3oKEduPRZ
=GVgp
Am 04.07.2013 12:35, schrieb Uwe Herrmuth:
> flecralf flecralf schrieb am 04.07.2013 um 10:33:
>> Danke für das Skript. Ich kenne keines der Passwörter, die
>> Dateien können einfach gelöscht werden.
> Alles klar.
>> Aber wenn ich das Skript richtig deute soll es auch alle nicht
>> korrekten Passwörter mit Löschen behandeln Das Skript löscht
>> allerdings alle Dateien und legt keine Sammeldatei an.
>> Fehlermeldung: Errors encountered. No output created. Done.
>> Input errors, so no output created.
> Ja - sowas kommt vom schnellen Zusammenschustern ohne testen. Hab
> noch mal nachgebessert.
> #alle Dateinamen in Array schreiben #keine Unterverzeichnisse
> durchsuchen filearray=$(find . -maxdepth 1 -name "*.pdf") #Array
> durchlaufen for filename in ${filearray[*]} do #Datei öffnen
> #Operation cat verlangt nach einem Output-File pdftk ${filename}
> cat output /dev/null #erfolgreich ? if (( ${?} != 0 )); then #nein
> #lösche Datei rm ${filename} fi done #alle restlichen Dateien
> zusammenführen pdftk *.pdf cat output neue_pdf.pdf
> _______________________________________________ Ubuntu mailing list
> Ubuntu@easylinux.de
nun scheint es zu laufen.
Ich hab' noch einen Schleifenzähler eingebaut, damit ich den
Fortschritt erkennen kann.
Das läuft wahrscheinlich jetzt erstmal ein paar Stunden.
Manchmal zahlt sich Skript-Kompetenz wirklich aus, denn die Guis
hatten allesamt ihre Dienste unverrichteter Dinge eingestellt.
Ich melde mich nach Abschluß wieder.
Vielen Dank Dir nochmal !!!!
iQEcBAEBAgAGBQJR1YSxAAoJED3lSBdlhI53OOoH/iYiWgwGyDS1ki1QQ0YTqME9
4XUwmz6En/C7abvLbh+47HOyIeoHnlEOwPaFptvwk9gYiXTf69jXyxzBKYS/JstT
ftXdVX0+fVz1XaJ7Egqy40QRGGSuuA0S6GRcvqqO8psGIApsNoHqKMC8783RifI0
dEx+RQfloB1tCLyvZRBzboK+YgrrtOJYueUpExvJA2PyjzeY4hSp0z5K2Vt19JZf
6BeoWzGj7IkVkmuiUt8SAtF25LxQASiVQ6HWvdjMMxvsj+z3Rh33osQpxp8Y4+Ir
D5E/Is9gmhTJOY1g1E/AgUM08FStWk8O540VUjwa4/fwQ5N3VAiUI+pMbApMhAw=
=nAib
iQEcBAEBAgAGBQJR1YSuAAoJED3lSBdlhI53e+wIAJ8QvCg6c58Dzr+DJTkAU0fJ
nw5ip8qQMld3+3cCFq/WaeUMNPjgL4KIFY0/Eg0GzCeNbqcpYJwQp1OzsxT+0O6G
YwqIQ31GnOhjf8sYy7PIxENXI67LjQk8npXBnuDjWio6o9gVmPZyRR2uT0doYlCD
5qim3xlvN3HHcAilkRCxJB9tyv0aXzFqE/fWjysI610bFi/WzCi/3UmNzoWt2jdc
mWjK2YyZ/rct4d+IeBnx0CKeTFneD9NydEiq/P+tEuG/yf6Zb2X3R6MaSYUOOgmQ
gMGvMq0miB7qoKTZDh2aa/PwYc9LYMssHstdMD4oIe6vc2uEJnSnduTc40uLKbE=
=eHPc
Hallo flecralf,
flecralf schrieb am 04.07.2013 um 10:33:
[..]
Signaturtest
iEYEARECAAYFAlHVxxUACgkQeMCgotvSIGfBGwCbBx4+sufzhFpY2RAxJ9OZvaod
QzgAn2MkG/qY6qqyR4APlPgohAqePmMt
=Oj9M
iEYEARECAAYFAlHV0XcACgkQeMCgotvSIGfVlgCdEyugPuJUujJJCMh/QnsbWI0I
N80AniMm4nwsmSxd/xyDSJ279DsrVNym
=W6jr
Am 04. Jul 2013 um 08:20 CEST schrieb flecralf:
[…]
Stefan
--
"Ja aber so bin ich, Kreuzung aus Brad Pitt und St. Martin, wie so ein
Büro-Bernhardiner..so knuddelig, aber immer da, wenn Not am Mann ist..oder
an der Frau? Kennen Sie diese Hunde? Die kommen dann so an, nur nicht mit
nem Fässchen um Hals, sondern eben mit ner Akte." Stromberg
Hallo Stefan,
Stefan Luetje schrieb am 04.07.2013 um 20:36:
>Am 04. Jul 2013 um 08:20 CEST schrieb flecralf:
>[…]
>Signaturtest
Den hast Du bestanden. ;-)
[Impressum] [Mission] Datenschutzerklärung | © 2018 COMPUTEC MEDIA GmbH