Sagen Sie, ich habe drei Dateien (template _ *. txt):
Ich möchte sie in drei neue Dateien kopieren (foo _ *. txt).
Gibt es einen einfachen Weg, dies mit einem Befehl zu tun, z.B.
cp --enableAwesomeness template_*.txt foo_*.txt
Mein bevorzugter Weg:
%Vor%Der "Ich-erinnere mich nicht an die Substitutionssyntax" -Weg:
%Vor% Der Befehl mmv
(verfügbar in Debian oder Fink oder einfach selbst zu kompilieren) wurde genau für diese Aufgabe erstellt. Mit der einfachen Bash-Lösung muss ich immer die Dokumentation über die variable Erweiterung nachschlagen. Aber mmv
ist viel einfacher zu benutzen, ziemlich nah an "awesomeness"! ; -)
Ihr Beispiel wäre:
%Vor% mmv
kann auch komplexere Muster behandeln und hat einige Plausibilitätsprüfungen, zum Beispiel wird sichergestellt, dass keine der Dateien in der Zielmenge in der Quellmenge erscheint (damit Sie nicht versehentlich Dateien überschreiben können) .
Ich kenne nichts in bash oder auf cp, aber es gibt einfache Möglichkeiten, so etwas zu tun, indem man (zum Beispiel) ein Perl-Skript benutzt:
%Vor%Dann:
%Vor%Noch eine andere Möglichkeit:
%Vor%Ich war schon immer beeindruckt von dem Programm von ImageMagick, das das leistet, was Sie von Bildformaten erwarten:
%Vor%Es hat ein Schwesterprogramm, das Stapelkonvertierungen zulässt:
%Vor%Offensichtlich sind diese auf Bildkonvertierungen beschränkt, aber sie haben interessante Befehlszeilenschnittstellen.
Tags und Links bash