Ganz einfach.
Wie benenne ich um?
05_h.png
06_h.png
zu
05_half.png
06_half.png
Zumindest denke ich, dass es einfach ist, aber es ist schwierig für Google, solche Dinge zu tun, es sei denn, Sie wissen es bereits.
Vielen Dank....
Verwenden Sie einfach bash, ohne externe Befehle aufrufen zu müssen.
for file in *_h.png
do
mv "$file" "${file/_h.png/_half.png}"
done
Nicht hinzufügen #!/bin/sh
Für diejenigen, die diesen Einzeiler benötigen:
for file in *.png; do mv "$file" "${file/_h.png/_half.png}"; done
Do not add #!/bin/sh
? Ich habe versucht, beide mit / ohne diese Aussage zu arbeiten.#!/bin/bash
. Das heißt, Bash ist normalerweise die Standard-Shell in vielen Computern, so dass Sie nicht viele Unterschiede finden: D Weitere Informationen finden Sie hierVersuchen Sie den
rename
Befehl:Aktualisieren:
Anwendungsbeispiel:
Inhalte erstellen
Testlösung:
quelle
ls
? Wasrename ...
versuchst du?rename
ist kein Standard-Unix-Tool.brew install rename
's//'
rename [options] expression replacement file...
rename from util-linux 2.23.2
.
JEDES Zeichen übereinstimmt, nicht nur ein Punkt - für wörtliche Punkte verwenden Sie\.
stattdessenquelle
mv $f $fnew
mitecho $fnew
als die zweite Zeile der Ausgabe sieht gesund , um sicherzustellen.Suchen Sie eine reine Bash-Lösung? Es gibt viele Ansätze, aber hier ist einer.
Dies setzt voraus, dass die einzigen Dateien im aktuellen Verzeichnis diejenigen
_h.png
sind, die Sie umbenennen möchten.Viel genauer
Angenommen, diese beiden Beispiele sind Ihre einzigen. Dateien.
Für den allgemeinen Fall, Umbenennen Datei in hat bereits abgedeckt vor .
quelle
Verwenden Sie das
rename
in Perl geschriebene Dienstprogramm. Könnte sein, dass es nicht standardmäßig verfügbar ist ...quelle
quelle
Ich hatte eine ähnliche Frage: Im Handbuch wird das Umbenennen als beschrieben
Sie können es also auf diese Weise verwenden
Im Code: '_h' ist der Ausdruck, nach dem Sie suchen. '_half' ist das Muster, durch das Sie ersetzen möchten. '* .png' ist der Dateibereich, nach dem Sie nach Ihren möglichen Zieldateien suchen.
Hoffe das kann helfen c:
quelle
Ein anderer Ansatz kann die Verwendung der Batch-Umbenennungsoption manuell sein
Klicken Sie mit der rechten Maustaste auf die Datei -> Benutzerdefinierte Dateibefehle -> Stapelumbenennung und Sie können h ersetzen. mit der Hälfte.
Dies funktioniert für Linux-basierte GUI mit WinSCP usw.
quelle
Verwenden Sie das
rename
Dienstprogramm:quelle
Einzeiler:
for file in *.php ; do mv "$file" "_$file" ; done
quelle
Obwohl der Antwortsatz vollständig ist, muss ich einen weiteren fehlenden hinzufügen.
quelle