Der Befehl „Suchen/Umbenennen“ erfasst die gewünschten Dateinamen nicht

Der Befehl „Suchen/Umbenennen“ erfasst die gewünschten Dateinamen nicht

Ich habe diese beiden Dateien in meinem Home-Verzeichnis -

hello_newest.txt
goodbye_newest.txt

Ich möchte sie umbenennen, so dass der "neueste" Teil des Dateinamens vollständig entfernt wird, so dass sie wieder erscheinen hello.txtundgoodbye.txt

Dies ist der Befehl, den ich ausführe -

find -name "*.txt" -exec rename 's/newest//i' {} ";"

Es wird kein Fehler ausgegeben und es passiert auch nichts mit den Dateien, nachdem ich diesen Befehl ausgeführt habe. Ich habehttp://www.computerhope.com/unix/rename.htmund auf der Grundlage einiger der vorhandenen Beispiele scheint es zu funktionieren.

Ich bin sicher, es ist etwas Einfaches, aber was übersehe ich?

Antwort1

Es scheint, als ob es an der Version von Redhat liegt, die wir verwendet haben. Der Befehl -

rename _newest '' *

Scheint die gleichen Ziele zu erreichen.

Danke für die Hilfe.

Antwort2

Andere Syntax. Hat aber bei mir funktioniert:

for i in *.txt; do mv "$i" "`echo $i | sed 's/_[^.]*//'`"; done

Alle TXT-Dateien werden mithilfe einer For-Schleife gefunden und anschließend die Zeichen nach dem Unterstrich mithilfe von sed entfernt.

verwandte Informationen