GNU/Linux >> Tutoriels Linux >  >> Linux

Obtenir l'utilitaire de renommage Perl au lieu du renommage intégré

Je ne peux parler que pour Debian. Les deux programmes sont appelés

  • /usr/bin/rename.ul du util-linux package (d'où le suffixe .ul)
  • /usr/bin/prename du perl paquet

Le véritable rename la commande fonctionne via le /etc/alternatives mécanisme, par lequel

  • /usr/bin/rename est un lien symbolique vers /etc/alternatives/rename
  • /etc/alternatives/rename est un lien symbolique vers /usr/bin/prename

Le même problème m'a dérangé sur Cygwin, qui est un produit Red Hat, donc devrait être plus similaire à Fedora. Je vais jeter un œil sur mon ordinateur portable d'entreprise lundi. Et je me souviens que le Perl-rename y avait travaillé parfois. Probablement avant d'installer util-linux .

Si vous installez le Perl-renommer en /usr/local/bin il aura priorité sur rename à partir de util-linux . Il en va de même pour la page de manuel lorsqu'elle est installée sur /usr/local/share/man/man1/ .

Je viens de créer un package Perl-rename séparé sur Github :https://github.com/subogero/rename


Vous pouvez l'installer en utilisant cpan, qui est le référentiel perl similaire à pip pour python.

Voici un tutoriel sur l'utilisation de cpan.

Si vous essayez de le renommer, il ressemble à ceci

renommer --help
appel :renommer les fichiers de vers...

Pour installer le changement de nom perl, vous pouvez procéder comme suit. Vous devrez peut-être installer quelques dépendances, vous pouvez généralement simplement appuyer sur Entrée

cpan
cpan1> installer Fichier ::Renommer
CPAN :stockable chargé ok (v2.20)
Aller lire '/root/.cpan/Metadata'
La base de données a été générée le mercredi 30 septembre 2015 à 08:17:02 GMT
Exécution de l'installation du module 'File ::Rename'
....
Exécution de l'installation de Build
Installation de /usr/local/share/man/man1/rename.1
Installation de /usr/local/share/perl5/File/Rename.pm
Installation de /usr/local/share/man/man3/File::Rename.3pm
Installation de /usr/local/bin/rename
Écrire /usr/local/lib64/perl5/auto/File/Rename/.packlist
RMBARKER/File-Rename-0.20.tar.gz
./Build install -- OK

C'est ainsi que vous installeriez le renommage à partir de cpan.
Ensuite, il faut le faire fonctionner sur votre système. Comme vous pourriez avoir plus d'un renommage installé.

which rename  
/usr/bin/rename  

Quand vous voulez vraiment celui-ci.

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

Je viens de le mettre dans /usr/bin/ mais avec un nom légèrement différent pour m'assurer que je n'ai cassé aucun script / programme existant qui dépend de l'ancien.

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

Linux
  1. Renommer un fichier dans le terminal Linux

  2. Comment installer des modules Perl sous Linux

  3. Comment obtenir en toute sécurité la version de Ksh ?

  4. Est-ce que Mv Atomic est sur le F?

  5. Obtenir le complément du résultat d'une commande Ls ?

Comment obtenir la taille d'un répertoire sous Linux

Comment installer Perl sur Ubuntu 20.04

Comment installer Perl sur AlmaLinux 8

Le guide complet pour installer MySQL sur Ubuntu

Installez Postman Ubuntu 18.04 :le moyen le plus simple !

La commande 'ls -d' n'affiche pas les répertoires. Existe-t-il un moyen d'obtenir que 'ls' affiche uniquement les répertoires au lieu des fichiers et des répertoires?