Suchen/ Ersetzen in Dateinamen?
Suchen/ Ersetzen in Dateinamen?
Hi,
ich habe hier viele 100.000 Dateien von denen viele ein ":2f" im Dateinamen haben. Blöderweise führt das dazu, dass mein NAS die dateien nicht backuppen möchte.
Ich würde jetzt gern diese ":2f" in ein Leerzeichen zum beispiel tauschen.
Wie könnte ich das machen?
Gruß
ich habe hier viele 100.000 Dateien von denen viele ein ":2f" im Dateinamen haben. Blöderweise führt das dazu, dass mein NAS die dateien nicht backuppen möchte.
Ich würde jetzt gern diese ":2f" in ein Leerzeichen zum beispiel tauschen.
Wie könnte ich das machen?
Gruß
Re: Suchen/ Ersetzen in Dateinamen?
Das ginge z.B. mit rename:
Interessanter fände ich es aber die Frage zu lösen warum das Backup diese Dateien nicht sichern möchte.
Code: Alles auswählen
$ ls -1
ab:2fc.txt
d:2fef.txt
$ rename -v 's/:2f/ /' *
ab:2fc.txt renamed as ab c.txt
d:2fef.txt renamed as d ef.txt
$ ls -1
ab c.txt
d ef.txt
Re: Suchen/ Ersetzen in Dateinamen?
Ja, das ist natürlich richtig.
Ich habe hier eine Fritzbox an der eine Festplatte hängt auf der 4-5TB Liegen. dazu habe ich ein Qnap NAS laufen welches sich ein mal pro Woche eine Sicherungskopie über FTP von der Fritzboxfreigabe macht. Bisher ist mir da auch nix komisches aufgefallen, nur habe ich jetzt mal aus langer Weile das Log angesehen und festgestellt. dass:
1. Dort viele (ca. 200) dateien verstreut sind, welche ein ":2f" im Dateinamen haben. meistens da wo eigentlich ein Leerzeichen oder umlaut im Dateinamen sein sollte...). Ich gehe ein bischen davon aus, dass das die nicht so angelegt wurden, sondern dass das mal passiert ist bei einem Einspielen von irgendeinem Backup vor langer zeit. (Lieder hatte ich immer mal wieder fatale Festplattencrashes bei denen ich über abenteuerliche Art und Weisen die daten wieder zurück geholt habe...)
2. ebendiese daten nicht kopiert werden, sondern ich zum beispiel so eine Ausgabe bekomme:
[2021/03/20 02:01:30] # WARNING: Skip the "Hugo_Sync/H/Studium/MA Semester 1/05_FOTOS/ORT/Fotogruppe/FotoPräsentation/3 Hawa/Untere Fischbachstr:2fErspachstr_1.CR2" file which has an unsupported filename!
Das liegt nicht an dem *.CR2 (da andere CR2 dateien wunderbar gebackupt werden, sondern m.E. eben an dem :2f - jedenfalls ist das der gemeinsame nenner wenn ich die Fehlermeldungen anschaue...
Da die Festplatte an der Fritzbox scon so eine Art Backup ist, welches dann vom NAS wiederum gebackuppt wird (paranoid?!) würde ich gern einfach diese Dateinamen so anpassen, dass alle Dateien mitkommen...
Danke also für das beispiel unten, nur müsste das noch Rekursiv durch alle Ordner laufen.
Gruß und Dank schonmal für Ideen!
PS.: ich hab mal in einem testverzeichnis das hier probiert:
find . -name '*:2f*' -exec rename -v 's/:2f/ /' * {} \;
allerdings macht find das jetzt 3 mal hintereinander... was ist da falsch?
Ich habe hier eine Fritzbox an der eine Festplatte hängt auf der 4-5TB Liegen. dazu habe ich ein Qnap NAS laufen welches sich ein mal pro Woche eine Sicherungskopie über FTP von der Fritzboxfreigabe macht. Bisher ist mir da auch nix komisches aufgefallen, nur habe ich jetzt mal aus langer Weile das Log angesehen und festgestellt. dass:
1. Dort viele (ca. 200) dateien verstreut sind, welche ein ":2f" im Dateinamen haben. meistens da wo eigentlich ein Leerzeichen oder umlaut im Dateinamen sein sollte...). Ich gehe ein bischen davon aus, dass das die nicht so angelegt wurden, sondern dass das mal passiert ist bei einem Einspielen von irgendeinem Backup vor langer zeit. (Lieder hatte ich immer mal wieder fatale Festplattencrashes bei denen ich über abenteuerliche Art und Weisen die daten wieder zurück geholt habe...)
2. ebendiese daten nicht kopiert werden, sondern ich zum beispiel so eine Ausgabe bekomme:
[2021/03/20 02:01:30] # WARNING: Skip the "Hugo_Sync/H/Studium/MA Semester 1/05_FOTOS/ORT/Fotogruppe/FotoPräsentation/3 Hawa/Untere Fischbachstr:2fErspachstr_1.CR2" file which has an unsupported filename!
Das liegt nicht an dem *.CR2 (da andere CR2 dateien wunderbar gebackupt werden, sondern m.E. eben an dem :2f - jedenfalls ist das der gemeinsame nenner wenn ich die Fehlermeldungen anschaue...
Da die Festplatte an der Fritzbox scon so eine Art Backup ist, welches dann vom NAS wiederum gebackuppt wird (paranoid?!) würde ich gern einfach diese Dateinamen so anpassen, dass alle Dateien mitkommen...
Danke also für das beispiel unten, nur müsste das noch Rekursiv durch alle Ordner laufen.
Gruß und Dank schonmal für Ideen!
PS.: ich hab mal in einem testverzeichnis das hier probiert:
find . -name '*:2f*' -exec rename -v 's/:2f/ /' * {} \;
allerdings macht find das jetzt 3 mal hintereinander... was ist da falsch?
Code: Alles auswählen
find . -name '*:2f*' -exec rename -v 's/:2f/ /' * {} \;
2003_WAR AND ARCHITECTURE:2f Three Principles | LEBBEUS WOODS.pdf renamed as 2003_WAR AND ARCHITECTURE Three Principles | LEBBEUS WOODS.pdf
2012_Architecture and War:2f From Baghdad to Kabul – Les carnets de l’Ifpo.pdf renamed as 2012_Architecture and War From Baghdad to Kabul – Les carnets de l’Ifpo.pdf
2014_ Between Tradition and Modernity:2f Determining Spatial Systems ofPrivacy in the Domestic Architecture of Contemporary IraqAl.pdf renamed as 2014_ Between Tradition and Modernity Determining Spatial Systems ofPrivacy in the Domestic Architecture of Contemporary IraqAl.pdf
'./2003_WAR AND ARCHITECTURE:2f Three Principles | LEBBEUS WOODS.pdf' not renamed: './2003_WAR AND ARCHITECTURE Three Principles | LEBBEUS WOODS.pdf' already exists
find: ‘./2014_ Between Tradition and Modernity:2f Determining Spatial Systems ofPrivacy in the Domestic Architecture of Contemporary IraqAl.pdf’: Datei oder Verzeichnis nicht gefunden
'2003_WAR AND ARCHITECTURE:2f Three Principles | LEBBEUS WOODS.pdf' not renamed: '2003_WAR AND ARCHITECTURE Three Principles | LEBBEUS WOODS.pdf' already exists
'2012_Architecture and War:2f From Baghdad to Kabul – Les carnets de l’Ifpo.pdf' not renamed: '2012_Architecture and War From Baghdad to Kabul – Les carnets de l’Ifpo.pdf' already exists
'2014_ Between Tradition and Modernity:2f Determining Spatial Systems ofPrivacy in the Domestic Architecture of Contemporary IraqAl.pdf' not renamed: '2014_ Between Tradition and Modernity Determining Spatial Systems ofPrivacy in the Domestic Architecture of Contemporary IraqAl.pdf' already exists
'./2014_ Between Tradition and Modernity:2f Determining Spatial Systems ofPrivacy in the Domestic Architecture of Contemporary IraqAl.pdf' not renamed: './2014_ Between Tradition and Modernity Determining Spatial Systems ofPrivacy in the Domestic Architecture of Contemporary IraqAl.pdf' already exists
find: ‘./2012_Architecture and War:2f From Baghdad to Kabul – Les carnets de l\’Ifpo.pdf’: Datei oder Verzeichnis nicht gefunden
'2003_WAR AND ARCHITECTURE:2f Three Principles | LEBBEUS WOODS.pdf' not renamed: '2003_WAR AND ARCHITECTURE Three Principles | LEBBEUS WOODS.pdf' already exists
'2012_Architecture and War:2f From Baghdad to Kabul – Les carnets de l’Ifpo.pdf' not renamed: '2012_Architecture and War From Baghdad to Kabul – Les carnets de l’Ifpo.pdf' already exists
'2014_ Between Tradition and Modernity:2f Determining Spatial Systems ofPrivacy in the Domestic Architecture of Contemporary IraqAl.pdf' not renamed: '2014_ Between Tradition and Modernity Determining Spatial Systems ofPrivacy in the Domestic Architecture of Contemporary IraqAl.pdf' already exists
'./2012_Architecture and War:2f From Baghdad to Kabul – Les carnets de l’Ifpo.pdf' not renamed: './2012_Architecture and War From Baghdad to Kabul – Les carnets de l’Ifpo.pdf' already exists
Zuletzt geändert von pcace am 20.03.2021 17:49:51, insgesamt 1-mal geändert.
Re: Suchen/ Ersetzen in Dateinamen?
Idee: Vielleicht ist ein Windows-Dateisystem im Einsatz oder die Backup-Software garantiert Restores auf Windows-Dateisysteme. Dort duerfen Dateinamen keine Doppelpunkte enthalten.
Use ed once in a while!
Re: Suchen/ Ersetzen in Dateinamen?
Hi,
auf dem Qnap NAS und auf der Fritzbox laufen *nixe soweit ich weis. Auf dem Qnap hab ich auch eine mehr oder weniger komplette shell mit ssh zugang...
Windows Systeme gibts hier im Haushalt keine.
Vielleicht hat ja noch wer zu dem EDIT oben eine Idee?
Gruß und Dank!
auf dem Qnap NAS und auf der Fritzbox laufen *nixe soweit ich weis. Auf dem Qnap hab ich auch eine mehr oder weniger komplette shell mit ssh zugang...
Windows Systeme gibts hier im Haushalt keine.
Vielleicht hat ja noch wer zu dem EDIT oben eine Idee?
Gruß und Dank!
-
- Beiträge: 5613
- Registriert: 30.12.2004 15:31:07
- Wohnort: Wegberg
Re: Suchen/ Ersetzen in Dateinamen?
Hallo
mfg
schwedenmann
Ich habe hier eine Fritzbox an der eine Festplatte hängt auf der 4-5TB Liegen.
welches dateisystem hat denn die angeschlossenen Platte und wie wird die von der fritte gesehen ? fritz-NAS, oder ftp oder auch smb ?Windows Systeme gibts hier im Haushalt keine.
mfg
schwedenmann
Re: Suchen/ Ersetzen in Dateinamen?
Den Stern als Wildcard aus meinem Beispiel brauchst du in find -exec nicht. Die Rolle übernehmen hier die geschweiften Klammern:pcace hat geschrieben:20.03.2021 17:35:32PS.: ich hab mal in einem testverzeichnis das hier probiert:
find . -name '*:2f*' -exec rename -v 's/:2f/ /' * {} \;
allerdings macht find das jetzt 3 mal hintereinander... was ist da falsch?
Code: Alles auswählen
find . -name '*:2f*' -exec rename -v 's/:2f/ /' * {} \;
Code: Alles auswählen
find . -name '*:2f*' -exec rename -v 's/:2f/ /' {} \;
Re: Suchen/ Ersetzen in Dateinamen?
Meine bisherige Beobachtung ist, dass die NAS von QNAP alles verarbeiten, was bei Linux erlaubt ist. Ich habe da auch Testdateien mit Smilies (U+263A) im Dateinamen oder so etwas hier:
In der gezeigten Warnung würde sich ein "ß" gut machen (Unicode: 0x00df). Da sehe ich in der Codierung eine kleine Übereinstimmung.
Die Bash freut sich ...Some Swingin' Fingerpickin' Ragtime Guitar!-7Lu9EfIyatQ.mp4
In der gezeigten Warnung würde sich ein "ß" gut machen (Unicode: 0x00df). Da sehe ich in der Codierung eine kleine Übereinstimmung.
Re: Suchen/ Ersetzen in Dateinamen?
Hi, das Sternchen war es! Jetzt benimmt sich die Zeile wie gewünschtt. (bis auf ein ein einziges File was 2x :2f im namen hatte.. da wurde nur eins ersetzt )hikaru hat geschrieben:20.03.2021 18:02:05Den Stern als Wildcard aus meinem Beispiel brauchst du in find -exec nicht. Die Rolle übernehmen hier die geschweiften Klammern:pcace hat geschrieben:20.03.2021 17:35:32PS.: ich hab mal in einem testverzeichnis das hier probiert:
find . -name '*:2f*' -exec rename -v 's/:2f/ /' * {} \;
allerdings macht find das jetzt 3 mal hintereinander... was ist da falsch?
Code: Alles auswählen
find . -name '*:2f*' -exec rename -v 's/:2f/ /' * {} \;
Warum das Verhalten mit Stern so ist wie von dir beobachtet weiß ich gerade nicht. Ich bin aber im Moment auch etwas zu faul zum Nachdenken.Code: Alles auswählen
find . -name '*:2f*' -exec rename -v 's/:2f/ /' {} \;
Das Problem selbst ist im Grunde ja noch nicht gelöst (Auch wenn jetzt tatsächlich die Daten kopiert werden...)
Die Platte an der Fritzbox ist ein Ext4. Auf die Platte an der Fritzbox greife ich per FTP zu (ist einfach schneller als SMB) und Nas / Fritzboxplatte kommunizieren auch über FTP.schwedenmann hat geschrieben:20.03.2021 17:59:21Hallo
Ich habe hier eine Fritzbox an der eine Festplatte hängt auf der 4-5TB Liegen.welches dateisystem hat denn die angeschlossenen Platte und wie wird die von der fritte gesehen ? fritz-NAS, oder ftp oder auch smb ?Windows Systeme gibts hier im Haushalt keine.
mfg
schwedenmann
Gruß und Danke für die Hilfe!
Re: Suchen/ Ersetzen in Dateinamen?
Dafür kannst du das Regex-Pattern in rename anpassen:pcace hat geschrieben:21.03.2021 10:37:46Hi, das Sternchen war es! Jetzt benimmt sich die Zeile wie gewünschtt. (bis auf ein ein einziges File was 2x :2f im namen hatte.. da wurde nur eins ersetzt )
Code: Alles auswählen
's/:2f/ /g'