Ich habe ein Verzeichnis mit einer Reihe von Dateien mit Namen wie:
%Vor%Ich möchte die führenden Nullen von allen Dateinamen entfernen, so dass ich zurücklassen würde:
%Vor%Ich habe verschiedene Konfigurationen von sed versucht, aber ich kann die richtige Syntax nicht finden. Gibt es eine einfache Möglichkeit, alle Dateien im Verzeichnis aufzulisten, sie durch sed zu leiten und sie entweder ohne die führenden Nullen in den neuen Dateinamen zu verschieben oder zu kopieren?
sed
allein ist das falsche Werkzeug dafür: Sie müssen auch ein Shell-Skript verwenden.
Umbenennen mehrerer Dateien mit Linux Seite für einige Ideen. Eine der vorgeschlagenen Ideen ist die Verwendung des Skripts rename
perl:
Ich kenne sed überhaupt nicht, aber Sie können einen Eintrag mit find
:
find -type f -name *.jpg
Bei der anderen Antwort könnte es so aussehen
find . -type f -name *.jpg | sed -e 's:^0*::'
aber ich weiß nicht, ob dieser sed Befehl hält oder nicht.
Hier ist einer, der sed
nicht benötigt:
Beachten Sie, dass dies NUR funktioniert, wenn die Dateinamen alle Nummern sind. Sie können auch die führenden Nullen mit der Shell entfernen:
%Vor%Tags und Links bash sed file-rename