Forum: PC Hard- und Software Nichtssagende *.pdf Dateinamen automatisch umbenennen


von PDFreak (Gast)


Lesenswert?

Danke st, Danke ti, Danke *, für die vielen nichtssagende *.pdf 
Dateinamen
in meinem Downloadverzeichnis!
1
for f in *.pdf; do 
2
  ln -s $f "`pdfinfo $f|grep Title:|cut -c 17-|sed -e 's/\//_/g' -e 's/ /_/g'`".pdf
3
done
hilft etwas.

Aus z.B.
en.DM00051352.pdf
wird
STM32F0xxx_Cortex-M0_programming_manual.pdf

Wird manchmal etwas länglich..

Die Versionsnummer müsste eigentlich auch noch irgendwie in den 
Dateinamen. (IMO)

(kein pdfinfo?: "apt install poppler-utils" hilft)

Ich bitte um Verbesserungsvorschläge..

: Verschoben durch User
von (º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· (Gast)


Lesenswert?

Kann Mann mit:

pdftk "%~1" dump_data output ...

und

awk "/InfoKey: Title/{getline;print("\"%name%\"\"\t\""substr($0,12))}" 
...

auch mit Windoof haben.

Den Rest soll sich jeder selbst ergaenzen.
Das Quoting ist wie immer etwas knifflig.

von (º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· (Gast)


Lesenswert?

P.S.:
Ich baue mir lieber eine _INDEX.PDF daraus zusammen und
lass die Dateinamen wie sie sind...

von wrdlbrmft (Gast)


Lesenswert?

(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· schrieb im Beitrag 
#5069679:
> Kann Mann mit:

Warum sollten das nur Männer können?

von (º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· (Gast)


Lesenswert?

> Warum sollten das nur Männer können?

Das ja nun einfach.

Das I.S.S.O. bis zum Gegenbeweis.

von KomandozeilUte vor dem Frühstück für Alle! (Gast)


Lesenswert?

Robust gegen whitespace u.a. in bereits vorliegenden Dateinamen:
1
 ls -1d *.pdf | while read f
2
 do
3
     ln -s "$f" "$(pdfinfo ""$f"" | grep -oP '(?<=Title:\s{10}).*$' | sed -e 's!/!_!g' -e 's/ /_/g')".pdf
4
 done


> Ich bitte um Verbesserungsvorschläge..

wellcome to the shells quoting hell ;-)

grep -da schon mal angeworfen- kann mehr für mich tun

Bei sed substitute Operation ist '/' nicht zwingend als 
Trennzeichen: geht es darum '/' zu bearbeiten so vermeidet ein anderes 
Trennzeichen das escapen .


tr als Alternative zu sed :
1
ls -1d *.pdf | while read f
2
do
3
     ln -s "$f" "$(pdfinfo ""$f"" | grep -oP '(?<=Title:\s{10}).*$' | tr '[:blank:]/' '_' )".pdf
4
done

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.