Sul mio sistema Debian (beh, il mio sistema LMDE, ma abbastanza vicino), ho almeno 3 diversi rename programmi:
-
/usr/local/bin/rename:Questa è una sceneggiatura Perl, scritta da Tom Christiansen. Stranamente, non riesco a trovare quale pacchetto lo abbia installato:$ dpkg -S /usr/local/bin/rename dpkg-query: no path found matching pattern /usr/local/bin/rename -
/usr/bin/prename:un altro script perl, scritto da Robin Barker, questo fa parte delperlpacchetto:$ dpkg -S /usr/bin/prename perl: /usr/bin/prename -
/usr/bin/file-rename:ancora un altro script Perl, nessuna chiara informazione sulla paternità ma sono menzionati sia un Larry (presumibilmente Wall) che un Robin (presumibilmente Barker). Questo viene installato darenamepacchetto ed è anche un collegamento simbolico a/usr/bin/rename:$ dpkg -S /usr/bin/file-rename rename: /usr/bin/file-rename
Ho anche rename.ul da util-linux ma ignoriamo quello per ora. Qual è la differenza tra questi 3 script Perl? Sembrano avere tutti la stessa pagina man, man rename , man file-rename e man prename tutti mi danno la stessa pagina.
Potrei esaminare le sceneggiature stesse e cercare di capire le differenze, ma non è banale e spero che qualcuno sappia quali caratteristiche hanno ciascuno e gli altri no. Punti bonus per spiegare perché il mondo Debian ha bisogno di tre script di ridenominazione Perl separati.
Risposta accettata:
Non sono sicuro che questo debba essere un commento, ma è solo una risposta parziale — Bug#735134:perl:rename(1) è antico.
ha quelli che sembrano essere i semi del pasticcio. Nello specifico:
Quindi, per riassumere:per molti anni il pacchetto perl ha fornito
/usr/bin/rename, un'utilità standalone implementata in perl. Il problema è che
non vogliamo più fornire l'utilità dal pacchetto perl perché
è stato aggiunto localmente all'interno di debian/ e non viene mantenuto. Una versione mantenuta
è disponibile come pacchetto separato, libfile-rename-perl.
Il libfile-rename-perl menzionato sopra è ora sostituito da rename :
$ apt-cache show rename | head
Package: rename
Version: 0.20-3
Installed-Size: 69
Maintainer: Debian Perl Group <[email protected]>
Architecture: all
Replaces: libfile-rename-perl
Provides: libfile-rename-perl
Depends: perl
Conflicts: libfile-rename-perl
Description-en: Perl extension for renaming multiple files
Quindi, Perl ha il suo rename che non è gestito da Debian e fornisce /usr/bin/prename . Gli sviluppatori Debian mantengono una rename pacchetto (apparentemente precedentemente noto come libfile-rename-perl ) che è il pacchetto che fornisce /usr/bin/rename :un collegamento simbolico a /etc/alternatives/rename che di per sé è un collegamento simbolico a /usr/bin/file-rename copione.
La sceneggiatura di Tom Christiansen è in bundle con Unicode::Tussle di Perl modulo. Probabilmente l'hai installato ed è ciò che ha fornito /usr/local/bin/rename .