Dateinamenbestandteile vertauschen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
rannseier
Beiträge: 57
Registriert: 24.09.2007 12:37:30

Dateinamenbestandteile vertauschen

Beitrag von rannseier » 18.01.2024 14:50:35

Hallo zusammen,

Gegeben sei folgendes Dateinamenformat:

Glotzboebbel Bratwurst - Gehirn Rezept 1972.pdf
[1] - [2].pdf

Daraus soll werden:

Gehirn Rezept 1972 - Glotzboebbel Bratwurst.pdf
[2] - [1].pdf

Wie mach ich das am ungeschicktesten?

HumiNi
Beiträge: 342
Registriert: 02.10.2014 21:46:18

Re: Dateinamenbestandteile vertauschen

Beitrag von HumiNi » 18.01.2024 14:53:22

Mit awk und "-" als Feldtrenner.

Als Ansatz:

Code: Alles auswählen

$ echo "Glotzboebbel Bratwurst - Gehirn Rezept 1972" | awk -F- '{print $2,"-",$1}'
 Gehirn Rezept 1972 - Glotzboebbel Bratwurst 
.... und ein bischen formatieren.
Zuletzt geändert von HumiNi am 18.01.2024 15:04:50, insgesamt 1-mal geändert.
Gedächtnis wie ein Rechen: Nur Mist bleibt hängen.

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: Dateinamenbestandteile vertauschen

Beitrag von JTH » 18.01.2024 15:05:43

Wenn der Trenner in der Mitte immer das „ - “ ist und ein „-“ am Besten an keiner anderen Stelle vorkommt, hast du die Lösung schon fast selbst hingeschrieben ;)

Mit Debianrename:

Code: Alles auswählen

rename -v 's/(.*) - (.*)\.(.*)/$2 - $1.$3/' *.pdf
-v kann auch weg, dann ist rename still. Zum Simulieren kannst du auch erstmal -n als Option vorne mitgeben.
Manchmal bekannt als Just (another) Terminal Hacker.

Antworten