GNU/Linux >> Znalost Linux >  >> Linux

Získejte nástroj pro přejmenování Perl namísto vestavěného přejmenování

Mohu mluvit pouze za Debian. Tyto dva programy se nazývají

  • /usr/bin/rename.ul z util-linux balíček (odtud přípona .ul)
  • /usr/bin/prename z perl balíček

Skutečné rename příkaz funguje přes /etc/alternatives mechanismus, pomocí

  • /usr/bin/rename je symbolický odkaz na /etc/alternatives/rename
  • /etc/alternatives/rename je symbolický odkaz na /usr/bin/prename

Stejný problém mě trápí na Cygwin, což je produkt Red Hat, takže by měl být více podobný Fedoře. V pondělí se podívám na svůj firemní notebook. A vzpomínám si, že tam občas pracoval Perl-rename. Pravděpodobně předtím, než jsem nainstaloval util-linux .

Pokud nainstalujete Perl-rename na /usr/local/bin bude mít přednost před rename od util-linux . Totéž platí pro manuálovou stránku při instalaci na /usr/local/share/man/man1/ .

Právě jsem vytvořil samostatný balíček Perl-rename na Github:https://github.com/subogero/rename


Můžete jej nainstalovat pomocí cpan, což je úložiště perl podobné pip pro python.

Zde je návod na použití cpan.

Pokud se pokusíte spustit přejmenování, vypadá to takto

přejmenovat --help
call:přejmenovat z na soubory...

Chcete-li nainstalovat přejmenování perlu, můžete provést následující. Možná budete muset nainstalovat několik závislostí, obecně stačí stisknout enter

cpan
cpan1> install File::Rename
CPAN:Uložitelné načteno v pořádku (v2.20)
Jdu číst '/root/.cpan/Metadata'
Databáze byla vygenerována středa, 30. září 2015 08:17:02 GMT
Spuštění instalace pro modul 'File::Rename'
....
Spuštění instalace sestavení
Instalace /usr/local/share/man/man1/rename.1
Instalace /usr/local/share/perl5/File/Rename.pm
Instalace /usr/local/share/man/man3/File::Rename.3pm
Instalace /usr/local/bin/rename
Zápis /usr/local/lib64/perl5/auto/File/Rename/.packlist
RMBARKER/File-Rename-0.20.tar.gz
./Build install -- OK

Takto byste nainstalovali přejmenování z cpan.
Další je, aby to fungovalo ve vašem systému. Protože můžete mít nainstalováno více než jedno přejmenování.

which rename  
/usr/bin/rename  

Když tohle opravdu chceš.

/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
            ';'.

Právě jsem to vložil do /usr/bin/ ale s mírně odlišným názvem, abych se ujistil, že jsem neporušil žádné existující skripty / programy, které závisejí na starém.

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

Linux
  1. Jak bezpečně získat verzi Ksh?

  2. Jak nainstalovat R 3.3.1 do vlastního adresáře?

  3. Je MV Atomic na Fs?

  1. Získat doplněk k výsledku příkazu Ls?

  2. Začněte s Tasksel v Debianu

  3. Získejte velikost databáze v MySQL

  1. Nainstalujte a používejte nástroj Lets Encrypt Certbot na CentOS 7 s Apache

  2. Jak ručně nainstalujete plugin eclipse-CDT z archivu/zipu na ubuntu?

  3. Učím se Perl, ale jak dostanu 5.14 na Windows?