[Gelöst] rename dateinamen
- Rawbit
- Beiträge: 727
- Registriert: 24.12.2004 13:17:21
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten:
[Gelöst] rename dateinamen
Hallo,
ich möchte mit rename viele Dateinamen ab der dritten Position bis zum Suffix .txt löschen.
Beispiel:
123xxxxxxx.txt soll 123.txt werden.
xxxxx hat eine unterschiedliche Anzahl von Stellen.
Wie kriege ich das hin?
Dank für Eure Hilfe!
Gruß
rawbit
ich möchte mit rename viele Dateinamen ab der dritten Position bis zum Suffix .txt löschen.
Beispiel:
123xxxxxxx.txt soll 123.txt werden.
xxxxx hat eine unterschiedliche Anzahl von Stellen.
Wie kriege ich das hin?
Dank für Eure Hilfe!
Gruß
rawbit
Zuletzt geändert von Rawbit am 12.05.2021 10:01:28, insgesamt 1-mal geändert.
Re: rename dateinamen
Eine Möglichkeit wäre dieses Pattern:
Code: Alles auswählen
's/(...).+/$1.txt/'
- Rawbit
- Beiträge: 727
- Registriert: 24.12.2004 13:17:21
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten:
Re: rename dateinamen
Hallo hikaru,
das wäre denn komplett
oder?
(...) heißt wohl die ersten 3 Stellen.
.+/$1.txt/'
bedeuten was, bitte?
Wie ist da $1 definiert?
Leider zeigt der Befehl keine Wirkung.
Gruß
Rawbit
das wäre denn komplett
Code: Alles auswählen
rename 's/(...).+/$1.txt/'
(...) heißt wohl die ersten 3 Stellen.
.+/$1.txt/'
bedeuten was, bitte?
Wie ist da $1 definiert?
Leider zeigt der Befehl keine Wirkung.
Gruß
Rawbit
Re: rename dateinamen
Thunar als Dateimanager verwendest du anscheinend nicht?
cu KH
cu KH
Zuletzt geändert von kalle123 am 11.05.2021 12:32:14, insgesamt 1-mal geändert.
Re: rename dateinamen
Es fehlt noch die Angabe der zu bearbeitenden Dateien. z.B.:Rawbit hat geschrieben:11.05.2021 11:46:35das wäre denn komplettoder?Code: Alles auswählen
rename 's/(...).+/$1.txt/'
Code: Alles auswählen
rename 's/(...).+/$1.txt/' *.txt
Hier deine Beispieldatei und ein paar Dateien die aus einem früheren Test in meinem Ordner lagen:
Code: Alles auswählen
$ rename -n 's/(...).+/$1.txt/' *.txt
rename(123xxxxxxx.txt, 123.txt)
rename(ab c.txt, ab .txt)
rename(a.txt, a.t.txt)
rename(d ef.txt, d e.txt)
rename(g h i.txt, g h.txt)
rename verwendet Perl-Regex. Ein Punkt ist ein beliebiges Zeichen. Runde Klammern im Such-Pattern definieren Variablen, auf welche im Ersetzungs-Pattern mit nummerierten Variablen ($N) zugegriffen werden kann.Rawbit hat geschrieben:11.05.2021 11:46:35(...) heißt wohl die ersten 3 Stellen.
.+/$1.txt/'
bedeuten was, bitte?
Wie ist da $1 definiert?
Ich habe hier also die ersten drei Zeichen in eine Variable gesteckt und dann alle weiteren Zeichen (.+) einfach gematcht. In der Ersetzung gebe ich nur diese Variable aus ($1) und hänge ein ".txt" an. Es ist also streng genommen nicht das selbe ".txt" wie in der Eingabe.
Re: rename dateinamen
Du musst am Ende des Aufrufs auch noch die Dateien angeben, die zum Umbenennen überhaupt in Frage kommen. Hier etwa *.txt.
Manchmal bekannt als Just (another) Terminal Hacker.
- Rawbit
- Beiträge: 727
- Registriert: 24.12.2004 13:17:21
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten:
Re: rename dateinamen
Hallo,
danke für Eure Antworten.
Die Dateinamen wurden geändert, leider mit einigen unerwarteten Effekten.
Das beste Ergebnis hatte ich mit Kalle123's Hinweis mit Thunar & Massenumbennung.
Gruß
rawbit
danke für Eure Antworten.
Die Dateinamen wurden geändert, leider mit einigen unerwarteten Effekten.
Das beste Ergebnis hatte ich mit Kalle123's Hinweis mit Thunar & Massenumbennung.
Gruß
rawbit
Re: rename dateinamen
Danke für deine Rückmeldung. Das ist wirklich eine sehr mächtige FunktionRawbit hat geschrieben:12.05.2021 10:00:51Das beste Ergebnis hatte ich mit Kalle123's Hinweis mit Thunar & Massenumbennung.

Gruß KH
-
- Beiträge: 5650
- Registriert: 30.12.2004 15:31:07
- Wohnort: Wegberg
Re: [Gelöst] rename dateinamen
Hallo
Als nachtrag werfe ich noch pgrename und pyrename (beides GUI-Programme) in den Ring. isdt m.M. nach besser als regex auf der CLI, zumindest wenn man immr wieder unterschiedliche Lösungen für verschieden Einsatzzwecke benötigt.
mfg
schwedenmann
Als nachtrag werfe ich noch pgrename und pyrename (beides GUI-Programme) in den Ring. isdt m.M. nach besser als regex auf der CLI, zumindest wenn man immr wieder unterschiedliche Lösungen für verschieden Einsatzzwecke benötigt.
mfg
schwedenmann