Wie installiere ich regexp-fähiges 'Umbenennen' auf Fedora?


9

Ich habe eine Batch-Umbenennungsaufgabe und finde, dass der Befehl 'Umbenennen' in Ubuntu und Fedora anders ist.

In Ubuntu wird das Umbenennen in Perl geschrieben und unterstützt reguläre Ausdrücke. Gibt es überhaupt eine Möglichkeit, es auf Fedora zu installieren?

Antworten:


2

Das Perl-Skript (von Larry Wall selbst) heißtrename.pl

Sie müssen es dann in einem geeigneten Verzeichnis speichern. Wahrscheinlich /usr/local/bin/und stellen Sie sicher, dass es ausführbar ist, indem Sie tippen

sudo chmod +x /usr/local/bin/rename.pl

5

Sie können es mit cpan installieren , dem Perl-Repository, das pip for python ähnelt.

Hier ist ein Tutorial zur Verwendung von cpan.

Wenn Sie versuchen, es umzubenennen, sieht es so aus

umbenennen --help
call: umbenennen von in in Dateien ...

Um die Perl-Umbenennung zu installieren, gehen Sie wie folgt vor. Möglicherweise müssen Sie einige Abhängigkeiten installieren. Im Allgemeinen können Sie einfach die Eingabetaste drücken

cpan
cpan 1 > Datei installieren ::
CPAN umbenennen: Speicherbar geladen ok (v2.20)
Zum Lesen der
Datenbank '/root/.cpan/Metadata' wurde am Mittwoch, 30. September 2015, 08:17:02 Uhr GMT die
Installation für das Modul ausgeführt 'File :: Rename'
....
Ausführen der Build-Installation
Installieren von /usr/local/share/man/man1/rename.1
Installieren von /usr/local/share/perl5/File/Rename.pm
Installieren von / usr / local / share /man/man3/File::Rename.3pm
Installieren von / usr / local / bin /
rename Schreiben von /usr/local/lib64/perl5/auto/File/Rename/.packlist
RMBARKER / File-Rename-0.20.tar.gz
. / Build-Installation - OK

So würden Sie die Umbenennung von cpan installieren.
Als nächstes müssen Sie es auf Ihrem System zum Laufen bringen. Da Sie möglicherweise mehr als eine Umbenennung installiert haben.

which rename  
/usr/bin/rename  

Wenn Sie diesen wirklich wollen.

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

Ich habe es nur eingegeben, /usr/bin/aber mit einem etwas anderen Namen, um sicherzustellen, dass ich keine vorhandenen Skripte / Programme beschädigt habe, die von dem alten abhängen.

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

3

Installieren Sie den Vornamen (Perl-Version des Umbenennens):

sudo dnf install prename

0

Für .debDistributionen von Debian-family ( ) empfehle ich die Antwort von @ SzG auf StackOverflow.

Für RedHat-family ( .rpm) -Distros (z. B. Fedora) können Sie, wenn Ihre Zeit kostbar ist (wie meine), von der Quelle über cpaneinen einzigen knappen Befehl herunterladen, kompilieren und installieren :

# Replace `rename-1.9` below with another version if desired ;) 
curl -L "http://search.cpan.org/CPAN/authors/id/P/PE/PEDERST/rename-1.9.tar.gz" | tar -xz && ( cd "rename-1.9"; perl "Makefile.PL"; make && make install ) && rm -rf "rename-1.9"

Hinweis:

INSTALL_BASE kann so eingestellt werden, dass das Basisinstallationsverzeichnis geändert wird.

z.B perl "Makefile.PL" INSTALL_BASE=/usr/local

Quelle

Hinweis: Gleiche Antwort, jedoch mit überlegener Syntaxhervorhebung bei StackOverflow

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.