GNU/Linux >> Linux Esercitazione >  >> Linux

Ottieni l'utilità di ridenominazione Perl invece della ridenominazione integrata

Posso parlare solo per Debian. I due programmi si chiamano

  • /usr/bin/rename.ul dall'util-linux package (da qui il suffisso .ul)
  • /usr/bin/prename dal perl pacchetto

L'attuale rename il comando funziona tramite il /etc/alternatives meccanismo, per cui

  • /usr/bin/rename è un collegamento simbolico a /etc/alternatives/rename
  • /etc/alternatives/rename è un collegamento simbolico a /usr/bin/prename

Lo stesso problema mi ha infastidito su Cygwin, che è un prodotto Red Hat, quindi dovrebbe essere più simile a Fedora. Lunedì darò un'occhiata al mio portatile aziendale. E ricordo che la ridenominazione di Perl ha funzionato lì a volte. Probabilmente prima che installassi util-linux .

Se installi Perl-rinomina in /usr/local/bin avrà la precedenza su rename da util-linux . Lo stesso vale per la manpage quando è installata in /usr/local/share/man/man1/ .

Ho appena creato un pacchetto Perl-rename separato su Github:https://github.com/subogero/rename


Puoi installarlo usando cpan, che è il repository perl simile a pip per python.

Ecco un tutorial sull'utilizzo di cpan.

Se provi a eseguirlo, rinominalo, avrà questo aspetto

rinomina --help
call:rinomina da a file...

Per installare la ridenominazione di perl puoi fare quanto segue. Potrebbe essere necessario installare alcune dipendenze, in genere puoi semplicemente premere invio

pan
cpan1> installa File::Rinomina
CPAN:memorizzabile caricato ok (v2.20)
Andando a leggere '/root/.cpan/Metadata'
Il database è stato generato il mercoledì 30 settembre 2015 alle 08:17:02 GMT
Esecuzione dell'installazione per il modulo 'File::Rinomina'
....
Esecuzione dell'installazione di build
Installazione di /usr/local/share/man/man1/rename.1
Installazione di /usr/local/share/perl5/File/Rename.pm
Installazione di /usr/local/share/man/man3/File::Rename.3pm
Installazione di /usr/local/bin/rename
Scrivere /usr/local/lib64/perl5/auto/File/Rename/.packlist
RMBARKER/File-Rename-0.20.tar.gz
./Build install -- OK

È così che installeresti la ridenominazione da cpan.
Il prossimo è farlo funzionare sul tuo sistema. Poiché potresti avere più di una ridenominazione installata.

which rename  
/usr/bin/rename  

Quando in realtà vuoi questo.

/usr/local/bin/rename --help
Usage:
    rename [ -h|-m|-V ] [ -v ] [ -n ] [ -f ] [ -e|-E *perlexpr*]*|*perlexpr*
    [ *files* ]

Options:
    -v, -verbose
            Verbose: print names of files successfully renamed.

    -n, -nono
            No action: print names of files to be renamed, but don't rename.

    -f, -force
            Over write: allow existing files to be over-written.

    -h, -help
            Help: print SYNOPSIS and OPTIONS.

    -m, -man
            Manual: print manual page.

    -V, -version
            Version: show version number.

    -e      Expression: code to act on files name.

            May be repeated to build up code (like "perl -e"). If no -e, the
            first argument is used as code.

    -E      Statement: code to act on files name, as -e but terminated by
            ';'.

L'ho appena inserito in /usr/bin/ ma con un nome leggermente diverso per assicurarmi di non interrompere nessuno script/programma esistente che dipende da quello vecchio.

ln -s /usr/local/bin/rename /usr/bin/rename.pl

Linux
  1. Come ottenere in sicurezza la versione di Ksh?

  2. Come installare R 3.3.1 nella propria directory?

  3. Mv Atomic è sulle F?

  4. Lo scopo del comando "installa"?

  5. Ottieni il complemento del risultato di un comando Ls?

Come ottenere la dimensione di una directory in Linux

Come installare Perl su Ubuntu 20.04

Come installare Perl su AlmaLinux 8

La guida completa per installare MySQL su Ubuntu

Installa Postman Ubuntu 18.04:il modo più semplice!

Come si installa manualmente il plug-in Eclipse-CDT da un archivio/zip su Ubuntu?