Ich habe ein Verzeichnis mit einer Reihe von .txt
Dateien. Ich benötige einen Befehl, um diese Dateien mit einem Befehl umzubenennen. Der Name lautet also:file1.txt , file2.txt, file3.txt , etc .
Irgendeine Hilfe ?
Ich habe ein Verzeichnis mit einer Reihe von .txt
Dateien. Ich benötige einen Befehl, um diese Dateien mit einem Befehl umzubenennen. Der Name lautet also:file1.txt , file2.txt, file3.txt , etc .
Irgendeine Hilfe ?
for i in *.txt; do echo mv "$i" "file${i#file}"; done
Antworten:
Sie können dies im Terminal verwenden, um Dateien nach Ihren Wünschen umzubenennen.
Es wird den Job machen.
Erläuterung:
j
und setzen Sie ihn zunächst auf 1*.txt
, um alletxt
Dateien abzurufen .mv
und erhöhen Sie den Zähler um 1.quelle
Sie können den Befehl zum Umbenennen verwenden, der normalerweise in einer Standardinstallation enthalten ist:
Verwenden Sie das Flag -n, wenn Sie zuerst einen Test durchführen möchten:
Dies funktioniert so, dass für jedes Argument der Perl-
s///
Ausdruck ausgeführt und die Umbenennung vom Original in die ersetzte Zeichenfolge durchgeführt wird. In der Ersatzzeichenfolgesprintf
formatiere ich den Namen, wobei ich die Umgebungsvariablec
als Zähler von 1 verwende.In den meisten Fällen benötigen Sie möglicherweise auch eine führende "0" für jede Zahl. Dies
%05d
ist der Trick, bei dem 5 die Anzahl der Ziffern ist.quelle
%05d
anstelle von können%d
Sie einen führenden0
Namen mit 5 Ziffern hinzufügen .Der folgende Befehl benennt Dateien auch schrittweise um:
Führen Sie dann dieses Skript aus:
quelle