Umbennen von Teilen des Dateinamens

  • 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.
Grundsätzlich kann ich nun rename ausführen. Trotz suche nach dem richtigen Syntax meckert er immer noch. Ich seh aber keinen Unterschied zu dem was ich im Internet finde. Sieht einer den Fehler ?
Meldung : Not enough arguments

/opt/bin/rename 's /.720p/xxxxxxx/'

Bildschirmfoto 2017-08-13 um 08.20.10.jpg
 
Hallo,

rename erwartet mindestens zwei Argumente. Die Regex zum ersetzen des Namens und die Datei, welche ersetzt werden soll. Da du in den Regex 1080 und 720 stehen hast, vermute ich mal, es geht um Video-Dateien. Du müsstest also sowas eingeben:
Rich (BBCode):
/opt/bin/rename 's/.720p/xxxxxx/' Videoname.irgendwas.720p.mkv
Nur als Beispiel natürlich.
Wenn es sich um mehr als eine Datei handelt, wovon ich bei einem automatisierten Vorgang mal ausgehen würde, musst du per Pipe die Dateien durchreichen:
Rich (BBCode):
find . -type f -name '*.mkv' | /opt/bin/rename 's/.720p/xxxxxx/'
Da in diesem Beispiel die Dateinamen per Pipe durchgereicht werden, kann man das zweite Argument bei rename weglassen.
 
Hi

Beides getestet

cd /volume1/Tausch/
find . -type f -name '*.mkv' | /opt/bin/rename 's/.720p/xxxxxx/'

cd /volume1/Tausch/
/opt/bin/rename 's/.720p/xxxxxx/' test.720p.mkv

Immer noch der selbe Fehler zu wenig Arguments.

Testdatei = test.720p.mkv
 
Ich verfolge diesen Thread, habe aber kein rename bei mir eingerichtet.

Dennoch habe ich mir das mal hier angesehen.
https://www.computerhope.com/unix/rename.htm

Eventuell wäre das mal eine lesenswerte Quelle?

Dann noch dort auf der Seite das Beispiel bei den 'rename examples' ...
find -type f -name '*.jpg' | rename 's/holiday/honeymoon/'
For all files with the extension ".jpg", if they contain the string "holiday", replace it with "honeymoon". For instance, this command would rename the file "ourholiday001.jpg" to "ourhoneymoon001.jpg".


Demnach müßte bei Dir ein ...
cd /volume1/Tausch/
find -type f -name '*.mkv' | rename 's/.720/xxxxxx/'

zum Ziel führen?
 
Auf meiner DS selbst habe ich es auch nicht installiert. Ich habe aber gerade das ganze in einem Docker-Container getestet und dort funktioniert es einwandfrei:
Rich (BBCode):
root@debian1:~# touch video1.720p.mkv video2.720p.mkv video3.720p.mkv                                                                                                                      
root@debian1:~# ls                                                                                                                                                                         
video1.720p.mkv  video2.720p.mkv  video3.720p.mkv                                                                                                                                          
root@debian1:~# find . -type f -name '*.mkv' | rename 's/.720p/--xxxxxx--/'                                                                                                                
root@debian1:~# ls                                                                                                                                                                         
video1--xxxxxx--.mkv  video2--xxxxxx--.mkv  video3--xxxxxx--.mkv                                                                                                                           
root@debian1:~#

Es wäre super wenn du mal genau erklären könntest wo du den Fehler bekommst. Per Terminal? Oder im Aufgabenplaner? Kannst du nochmal Screenshots machen oder die Ausgabe kopieren?
 
Danke für die Hilfe vorweg


Habe das von Andi grade noch mal getestet leider mit dem selben Ergebnis.
Es fehlt ein Argument. Es macht keinen Unterschied ob Terminal oder Aufgabenplaner beides das selbe.

cd /volume1/Tausch/
find -type f -name '*.mkv' | /opt/bin/rename 's/.720/xxxxxx/'

Bildschirmfoto 2017-08-19 um 07.46.56.png

Bildschirmfoto 2017-08-19 um 07.45.20.jpg

@ Tomsonit ich teste jetzt deins auch mal.
 
@thomassonit

da du im Docker arbeitest muß ich dann bei mir das root@debian1 nicht weg lassen ?

Harald

Ich hab das mal im Terminal und auch in der Aufgabenplanung getestet. Scree wie im Post zuvor.

Das ist das was ich eingegeben habe.

cd /volume1/Tausch/
find . -type f -name '*.mkv' | /opt/bin/rename 's/.720p/--xxxxxx--/'

Am Ende gibt es nur 3 Unterschiede :

1) der Punkt hinter find
2) Ich gebe den Pfad zu rename an ( sonst findet er rename bei mir nicht ) /opt/bin/
3) die -- vor und hinter dem neuen Namen den er einsetzen soll

Harald
 
1. Der Punkt hinter find steht dafür, dass find nur im aktuellen Verzeichnis suchen soll.
2. Das Verzeichnis /opt/bin ist nicht Teil deiner PATH-Variable, daher musst du den ganzen Pfad zum binary angeben ('echo $PATH' im Terminal gibt die Variable aus. Da wird /opt/bin nicht drin stehen).
3. Ich habe das -- einfach so eingegeben. Das hat keine Auswirkung auf die Funktion.

Kannst du bitte im Terminal mal '/opt/bin/rename --version' eintippen und die Ausgabe hier posten?
 
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