Unter CentOS verwendet der Umbenennungsbefehl zwei einfache Zeichenfolgen, from
und to
.
rename from to file...
während es auf Debian/Ubuntu einen regulären Ausdruck im Perl-Stil verwendet.
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
Warum unterscheidet sich dieses Dienstprogramm je nach Distribution? Gibt es einen Hinweis darauf, welche Distributionen mit welchen Versionen des Dienstprogramms ausgeliefert werden oder standardmäßig verwendet werden?
Akzeptierte Antwort:
Geschichte. Es gibt zwei historische Zeilen eines rename
Befehl, mit dem gleichen grundlegenden Zweck, aber völlig unterschiedlicher Syntax und Fähigkeiten:
- Das
rename
Befehl im Paket util-linux. Es erschien in der Version 2.10e und das Programm ist vom 01.01.2000 datiert. - Ein Perl-Skript, das als Beispielprogramm mit Perl verteilt wurde. Das Debian-Änderungsprotokoll zeichnet auf, dass es im Juni 1999 zu Debian hinzugefügt wurde (das Programm selbst stammt mindestens aus dem Jahr 1992). Eine andere Version, die abwärtskompatibel ist, kommt mit Unicode::Tussle (ab Debian Jessie heißt es
file-rename
, und inrename
bereitgestellt Paket; einige andere Distributionen nennen esprename
).
Auf der einen Seite ist util-linux ein Kernpaket, also eher Standard als das Perl-Beispielskript, das Debian aus einer Laune heraus mitgeliefert hat. Andererseits war das Perl-Skript zuerst in Debian. Bisher hat sich Debian dafür entschieden, die Kompatibilität mit früheren Debian-Veröffentlichungen zu wahren, anstatt sich an anderen Distributionen auszurichten. Von Debian abgeleitete Distributionen (Ubuntu, Mint, elementary, etc.) neigen dazu, Debian in diesem Punkt zu folgen.
Andere Distributionen hatten kein rename
Befehl, wenn einer zu util-linux hinzugefügt wurde, also enthalten sie natürlich die util-linux-Version.