Dies ist eine einfache Frage. Ich versuche, alle Dateien im aktuellen Verzeichnis, die mit "axis-2" beginnen und mit ".jar" enden, in ein Zielverzeichnis zu kopieren. Nehmen wir an, es ist ~ / MyDirectory. Mein erster Gedanke war, es zu versuchen
cp '^axis2.*jar$' ~/MyDirectory
Aber das funktioniert nicht. Ich bin mir nicht mal sicher, ob ich mit cp reguläre Ausdrücke verwenden kann. Ich habe seit einiger Zeit auch keine regulären Ausdrücke mehr verwendet und meine Syntax könnte völlig falsch sein. Wenn ich diesen CP versuche, wird nur die Fehlermeldung "Keine solche Datei oder kein solches Verzeichnis" ausgegeben. Hat jemand Vorschläge, wie man das macht? Vielen Dank!
quelle
Wenn Sie GNU
find
und GNU zurcp
Verfügung haben, können Sie reguläre Ausdrücke wie im folgenden Befehl verwenden:Dies kann nützlich sein, wenn weder Glob Pattern noch Bash Extended Glob Pattern Suite Ihren Anforderungen entsprechen.
quelle
Ich mag die Regex-Syntax des
rename
Perl-Skripts (von Robin Barker und Larry Wall) sehr, z.Ich wollte einfach genau dasselbe mit einem Kopierbefehl:
copy "s/OldFile/NewFile/" OldFile*
Also habe ich dieses Skript dupliziert und die Umbenennungsanweisung geändert, über die kopiert werden soll
File::Copy
. Et voila! Ein Kopierbefehl mit Perl-Regex-Syntax: jcward / vopy .quelle