![kann mmv Dateien durch Erhöhen eines Index umbenennen?](https://rvso.com/image/83698/kann%20mmv%20Dateien%20durch%20Erh%C3%B6hen%20eines%20Index%20umbenennen%3F.png)
Kann mmv, ein Dienstprogramm zum Verschieben von Massendateien, Dateien wie folgt umbenennen:
- foo.txt
- bar.txt
- baz.txt
Zu:
- 1.txt
- 2.txt
- 3.txt
Die Manpage ist faszinierend, aber ich komme mit den Anweisungen nicht ganz klar:
Rename all *.jpeg files in the current directory to *.jpg:
mmv '*.jpeg' '#1.jpg'
Kann die #1
Variable auf eine Ganzzahl gesetzt werden, die inkrementiert wird? Ich bezweifle nicht, dass dies möglich ist, aber ist es genauso einfach (oder schwierig), einfach ein Bash- oder anderes Skript zu verwenden?
Ignorieren Sie der Einfachheit halber das mögliche Problem des Überschreibens 1.txt
. Oder kopieren Sie stattdessen in ein Unterverzeichnis.
siehe auch:
https://stackoverflow.com/questions/3211595/
https://stackoverflow.com/questions/880467/
Benennen Sie Dateien um, indem Sie eine Zahl im Dateinamen erhöhen
Antwort1
Ich habe dieses Programm nicht auf meinem System – tatsächlich kann ich mich nicht erinnern, vorher schon einmal davon gehört zu haben – aber ich habe gelesendiese Kopie der Manpage, und es scheint, dass das Programm nicht die gewünschte Funktionalität enthält. Wenn Sie dies jedoch insbesondere mit tun möchten mmv
, können Sie Folgendes versuchen:
mmv -an "*.txt" bogus.target > /tmp/mmv.list
Das -n
weist an mmv
, keine Aktionen auszuführen, sondern nur zu melden, was geschehen wäre, wenn Sie nicht angegeben hätten -n
. Das -a
weist an, alle Textdateien in eine Datei anzufügen bogus.target
– tatsächlich gibt die Manpage ein sehr ähnliches Beispiel (allerdings ohne die -n
Option) – ich verwende es hier einfach, um zuzulassen, mmv
dass mehrere Quelldateien in einem einzigen Ziel zusammengeführt werden. Dies sollte eine /tmp/mmv.list
Datei erzeugen, die ungefähr so aussieht:
bar.txt -> bogus.target
baz.txt -> bogus.target
foo.txt -> bogus.target
(Ich gehe davon aus, dass die Dateien entweder in lexikografischer (alphabetischer) Reihenfolge oder in Verzeichnisreihenfolge (die beliebig erscheinen mag) aufgelistet werden. Wenn Sie eine andere Reihenfolge wünschen, müssen Sie eine Möglichkeit finden, dies anzugeben.) Verarbeiten Sie dann die Datei (z. B. mit einem Skript, TBD), um die Vorkommen von bogus.target
durch 1.txt
, 2.txt
, 3.txt
, usw. zu ersetzen. Führen Sie dann Folgendes aus :
mmv < /tmp/mmv.list
Vorbehalt: Ich habe das nicht ausprobiert (da ich, wie gesagt, nicht einmal die Software habe). Sie sollten wahrscheinlich zuerst einen Probelauf mit einigen unwichtigen Dateien durchführen und/oder alle Ihre Dateien sichern, bevor Sie dies tun.
Beachten Sie auch, dass dies wahrscheinlich mindestens so viel Arbeit ist wie einige der Antworten auf die Fragen, auf die Sie verlinkt haben. Wie gesagt, ich mache diesen Vorschlag nur für den Fall, dass Sie dies insbesondere mit tun möchten mmv
.
PS Meine Antwort (oben) wurde teilweise inspiriert vonDieses hier.