Rename Dateinamen in Verzeichnis mit Shell-Script?

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

reoe67

Benutzer
Registriert
10. Juli 2012
Beiträge
42
Reaktionspunkte
0
Punkte
6
Ich habe ein NAS DS218 und benutze die Download-Station dafür, mir die Podcasts in einem Verzeichnis abzulegen "01 Podcast/Temp/NDR2". Dies funktioniert soweit ganz gut. Da mir die Dateinamen so wie sie abgelegt sind nicht passen, möchte ich die Dateien umbenennen. Ich habe dies bisher immer mittels eines Batch-Jobs im Windows gemacht. Da ich aber dies auf dem NAS direkt und auto. (stündlich) machen möchte ohne den PC, habe ich nun nach einer anderen Möglichkeit gesucht und habe nun versucht das ganze mittels Linux-Command hinzukriegen (für mich Neuland)

Zum testen der Commands brauche ich das Programm putty. Wenn es dann mal läuft möchte ich es in den Aufgabenplaner vom DS218 integrieren

Ziel wäre alle Dateien welche die in diesem Format vorliegen "AU-20181210-1529-5500.mp3" um zu benennen in "2018 12 10 - text.mp3" (entspricht aktuellem Datum)

Der Command müsste irgendwie so (oder ähnlich aussehen) denke ich:

/bin/find 'volume1/01 Podcast/Temp/NDR2/' -type f -execdir rename -n 's/??????/??????/i' * '{}' +

Kann mich hier jemand unterstützen?
 
Hi! Nicht schön und auch nicht getestet:

/bin/find '/volume1/01 Podcast/Temp/NDR2/' -type f -execdir mv '{}' "$( /bin/echo '{}' | /bin/sed -e 's@AU-@@ ; s@-.*@@ ; s@^\(....\)\(..\)\(..\)@\1 \2 \3@ ; s@$@ - text.mp3@' )" \;

EDIT: Stop, mein find hier kennt kein -execdir, also eher

/bin/find '/volume1/01 Podcast/Temp/NDR2/' -type f -exec mv '{}' "$( /bin/echo '{}' | /bin/sed -e 's@/AU-@@ ; s@-.*@@ ; s@\(....\)\(..\)\(..\)@\1 \2 \3@ ; s@$@ - text.mp3@' )" \;
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat