Benötigen Sie einen MV-Befehl

397
James Sullivan

Ich muss eine Datei umbenennen, aber die Erweiterung beibehalten (was auch immer es ist, ohne sie anzugeben)

Zum Beispiel:

file_20161118.csv.ovrmuss umbenannt werden in "file.csv.ovr".

In einigen Fällen kann es jedoch sein file_20161118.csv.rpl, in welchem ​​Fall ich es brauche "file.csv.rpl".

Vielen Dank

0
`mv` benennt nur eine Datei um oder verschiebt eine oder mehrere Dateien an einen anderen Ort. Es gibt keine Unterstützung für Dateinamen. Es wäre auch hilfreich, wenn Sie angeben können, ob Sie eine Lösung für HPUX, AIX, FreeBSD, OpenBSD, Mac OS X, Illumos oder eines der vielen anderen UNIX-Varianten und Unix-ähnlichen Betriebssysteme benötigen. a CVn vor 7 Jahren 1

2 Antworten auf die Frage

1
jcbermu

renamemacht den Trick

Eine aufgerufene Datei file_20161118.csv.ovrwird beispielsweise file.csv.ovrnach diesem Befehl:

rename 's/file_20161118/file/' file_20161118* 

Es verwendet reguläre Perl-Ausdrücke, sodass Sie damit eine Menge tun können. Weitere Beispiele finden Sie hier .

0
Kjetil S.

You might want:

perl -e'for(@ARGV){ $f=$_; s/_(\d)\./\./; rename$f,$_}' file1 file2 files*