Umbenennen mehrerer Dateien auf einmal...

Impcaligula

Impcaligula

Aktives Mitglied
Thread Starter
Dabei seit
17.05.2010
Beiträge
8.165
Reaktionspunkte
7.921
Salve...

bei Google und im Forum habe ich schon einiges gefunden - aber das passt leider nicht zu meinem Problem.

Folgendes - ich habe einen Ordner, der hat weitere Ordner, der hat weiterer Ordner und die haben alle auch Ordner. Also sehr tief verschalet. Dort sind nun tausende einzelne Dateien - überall in den Ordnern verteilt. Diese Dateien sollen / müssen hoch auf den SharePoint. geht aber nicht - weil in manchen Dateinamen unerlaubte Zeichen implementiert sind.

Beispiel
/ordner/ordner/seminar_c#_2016.pdf

In dem Fall erlaubt SharePoint nicht das Zeichen #

Ich brauche nun also ein Script, eine Möglichkeit, gerne auch eine App, welche Ordnern nach Dateien durchsucht, dann die Dateinamen nach einem bestimmten Zeichen durchsucht und dieses Zeichen dann gegen eine andere Bezeichnung austauscht.

aus...
/ordner/ordner/seminar_c#_2016.pdf
wird dann...
/ordner/ordner/seminar_csharp_2016.pdf

Ich habe jede Menge Lösungen gefunden - Dateien auswählen, markieren und dann... schon das geht nicht bei mir, da meine Dateien alle verteuert sind in mehrere Unterordner. Dann geben viele Lösungen an die Dateien komplett vom Namen neu zu definieren... lange Rede, kurzer Sinn, ich suche so etwas wie Suchen und Ersetzen in einem Ordner auf Dateibasis.

Danke für Eure Hilfe!
 
Ich nutze da "A better Finder rename"
 
  • Gefällt mir
Reaktionen: Impcaligula
im Terminal:
Code:
find /start_dir/ -type f | while read file; do mv -v "$file" "${file/\#/sharp}"; done
 
  • Gefällt mir
Reaktionen: Macschrauber und Impcaligula
http://www.ienno.de/finder-in-auswahl-ersetzen/
das habe ich eben gefunden endlich und auch fast "erfolgreich" erstellt. Allerdings habe ich ein Problem.

/ordner/ordner/seminar_c#_2016.pdf

Wenn ich nach # suche und durch sharp ersetzen will - geht es nicht, weil er nicht # findet.
Wenn ich nach c# suche und durch csharp ersetze, geht es natürlich!

Das Problem ist, dass ich manchmal in dem Dateinamen manchmal c#, manchmal c_# stehen habe und so weiter.


Ich nutze da "A better Finder rename"

Wisst Ihr ob Eure Lösung mir die Dateien umbenennt, egal ob das # in c# oder c_# ist?
 
klar, dem script ist es egal:
Code:
test:macuser tsmusik$ l
total 0
drwxr-xr-x   2 tsmusik  wheel   68 27 Jun 21:08 .
drwxrwxrwt  13 root    wheel  442 27 Jun 21:08 ..
test:macuser tsmusik$ touch seminar_c#_2016.pdf seminar_c#_2017.pdf seminar_c#_2018.pdf
test:macuser tsmusik$ l
total 0
drwxr-xr-x   5 tsmusik  wheel  170 27 Jun 21:09 .
drwxrwxrwt  13 root    wheel  442 27 Jun 21:08 ..
-rw-r--r--   1 tsmusik  wheel    0 27 Jun 21:09 seminar_c#_2016.pdf
-rw-r--r--   1 tsmusik  wheel    0 27 Jun 21:09 seminar_c#_2017.pdf
-rw-r--r--   1 tsmusik  wheel    0 27 Jun 21:09 seminar_c#_2018.pdf
test:macuser tsmusik$ find . -type f | while read file; do mv -v "$file" "${file/\#/sharp}"; done
./seminar_c#_2016.pdf -> ./seminar_csharp_2016.pdf
./seminar_c#_2017.pdf -> ./seminar_csharp_2017.pdf
./seminar_c#_2018.pdf -> ./seminar_csharp_2018.pdf
test:macuser tsmusik$ l
total 0
drwxr-xr-x   5 tsmusik  wheel  170 27 Jun 21:09 .
drwxrwxrwt  13 root    wheel  442 27 Jun 21:08 ..
-rw-r--r--   1 tsmusik  wheel    0 27 Jun 21:09 seminar_csharp_2016.pdf
-rw-r--r--   1 tsmusik  wheel    0 27 Jun 21:09 seminar_csharp_2017.pdf
-rw-r--r--   1 tsmusik  wheel    0 27 Jun 21:09 seminar_csharp_2018.pdf
test:macuser tsmusik$
 
der reguläre Ausdruck von TSMusik ersertzt jedes Vorkommen von # durch den Text. Sollte also passen.

Edit: ich tippe mal wieder zu langsam auf diesem iphone...
 
  • Gefällt mir
Reaktionen: Impcaligula
Edit: ich tippe mal wieder zu langsam auf diesem iphone...
Ich könnte mich mit diesen smarten Dingern auch viel eher anfreunden, wenn da eine normal große Tastatur dabeiliegen würde.
Hat doch nicht jeder Kinderfinger.
Und den Mausanschluß vermisse ich irgendwie auch.
 
  • Gefällt mir
Reaktionen: ruerueka
Zurück
Oben Unten