Nichtssagende *.pdf Dateinamen automatisch umbenennen

Gast #5069565
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..
Gast #5069679
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.
Gast #5069708
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

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.