Umbenennen von Cygwin unix-utils funktioniert nicht wie erwartet

350
C0ppert0p

Ich versuche, die Umbenennungsfunktion zu verwenden, die als Teil von cygwin, unix-utils (22. März 2015) bereitgestellt wird, und sie funktioniert nicht wie angekündigt.

Alle Beispiele, die ich gesehen habe, zeigen, dass dies die Syntax ist:

rename 's/old pattern/new pattern' *.txt 

Dies soll ALLE Vorkommen von Dateinamen, die das alte Muster enthalten, durch den neuen Namen ersetzen, wobei das neue Muster verwendet wird. Stattdessen wird nichts getan. Buchstäblich. Kein Syntaxfehler Keine Warnung. Ich gebe den Befehl ein. der Befehl wird ausgeführt; und die Aufforderung erscheint erneut, aber es ist nichts passiert. Ich ersetze Bindestriche durch Leerzeichen, also dachte ich, ich brauche vielleicht ein Escape-Zeichen, aber es hatte keine Wirkung.

Dieser Code funktioniert, jedoch nur für EINEN Vorkommen des Musters:

rename "old pattern" "new pattern" *.txt 

Benutze ich die neueste Version von Umbenennen? Gibt es einen anderen Befehl, den ich verwenden kann? Ich benenne Dateien mit "-" anstelle von Leerzeichen um. Umbenennen in eine Schleife zu setzen, nur um 1 bis 10 Bindestriche in Hunderten von Dateien zu entfernen, ist wirklich sehr lahm.

Wie immer wäre Ihre Hilfe sehr dankbar.

Tony

0
"Umbenennen - Version" und "Mann Umbenennen" sollten Ihnen einige gute Informationen geben. pak vor 8 Jahren 0

1 Antwort auf die Frage

0
matzeri

$ touch mickey \ mouse01 mickey \ mouse02 mickey \ mouse03

$ ls

'mickey mouse01' 'mickey mouse02' 'mickey mouse03'

$ mickey \ mouse umbenennen mickey_mouse mickey \ mouse *

$ ls

mickey_mouse01 mickey_mouse02 mickey_mouse03

gahhk ... Es funktioniert jetzt sicher. Ich muss blind werden ... C0ppert0p vor 8 Jahren 0