Umbennen von Teilen des Dateinamens

Status
Für weitere Antworten geschlossen.

HaraldB1966

Benutzer
Mitglied seit
23. Mai 2015
Beiträge
380
Punkte für Reaktionen
0
Punkte
0
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
 

thomsonit

Benutzer
Mitglied seit
16. Aug 2017
Beiträge
11
Punkte für Reaktionen
0
Punkte
1
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.
 

HaraldB1966

Benutzer
Mitglied seit
23. Mai 2015
Beiträge
380
Punkte für Reaktionen
0
Punkte
0
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
 

AndiHeitzer

Benutzer
Sehr erfahren
Mitglied seit
30. Jun 2015
Beiträge
3.335
Punkte für Reaktionen
630
Punkte
174
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?
 

thomsonit

Benutzer
Mitglied seit
16. Aug 2017
Beiträge
11
Punkte für Reaktionen
0
Punkte
1
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?
 

HaraldB1966

Benutzer
Mitglied seit
23. Mai 2015
Beiträge
380
Punkte für Reaktionen
0
Punkte
0
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.
 

HaraldB1966

Benutzer
Mitglied seit
23. Mai 2015
Beiträge
380
Punkte für Reaktionen
0
Punkte
0
@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
 

thomsonit

Benutzer
Mitglied seit
16. Aug 2017
Beiträge
11
Punkte für Reaktionen
0
Punkte
1
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