GNU/Linux >> Linux の 問題 >  >> Linux

組み込みの名前変更の代わりに Perl 名前変更ユーティリティを取得します

私は Debian についてしか話せません。 2 つのプログラムの名前は

  • /usr/bin/rename.ul util-linux から パッケージ (したがって、.ul サフィックス)
  • /usr/bin/prename perl から パッケージ

実際の rename コマンドは /etc/alternatives 経由で機能します メカニズム、それによって

  • /usr/bin/rename /etc/alternatives/rename へのシンボリックリンクです
  • /etc/alternatives/rename /usr/bin/prename へのシンボリックリンクです

同じ問題が、Red Hat 製品である Cygwin で私を悩ませてきたので、Fedora にもっと似ているはずです。月曜日に会社のラップトップを見てみましょう。そして、Perl-rename が時々そこで機能したことを覚えています。おそらく util-linux をインストールする前に .

Perl-rename を /usr/local/bin にインストールした場合 rename よりも優先されます util-linux から . /usr/local/share/man/man1/ にインストールした場合のマンページも同様です .

Github で別の Perl-rename パッケージを作成しました:https://github.com/subogero/rename


Python の pip に似た perl リポジトリである cpan を使用してインストールできます。

cpan の使用に関するチュートリアルを次に示します。

rename を実行しようとすると、次のようになります

<ブロック引用>

名前の変更 --help
呼び出し:からファイルに名前を変更します...

perl rename をインストールするには、次のようにします。いくつかの依存関係をインストールする必要があるかもしれませんが、通常は Enter キーを押すだけです

<ブロック引用>

cpan
cpan1> インストール ファイル::名前の変更
CPAN:Storable ロード OK (v2.20)
「/root/.cpan/Metadata」を読みに行く
データベースは 2015 年 9 月 30 日水曜日 08:17:02 GMT に生成されました
モジュール 'File::Rename' のインストールを実行しています
....
ビルド インストールの実行
/usr/local/share/man/man1/rename.1 のインストール
/usr/local/share/perl5/File/Rename.pm のインストール
/usr/local/share/man/man3/File::Rename.3pm のインストール
/usr/local/bin/rename のインストール
/usr/local/lib64/perl5/auto/File/Rename/.packlist の書き込み
RMBARKER/File-Rename-0.20.tar.gz
./ビルド インストール -- OK

これは、cpan から名前変更をインストールする方法です。
次は、システムで動作させることです。複数の名前変更がインストールされている可能性があるため。

which rename  
/usr/bin/rename  

本当にこれが欲しいとき。

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

/usr/bin/ に入れただけです ただし、古いスクリプトに依存する既存のスクリプト/プログラムを壊さないようにするために、わずかに異なる名前を付けました。

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

Linux
  1. Linuxターミナルでファイルの名前を変更します

  2. LinuxにPerlモジュールをインストールする方法

  3. Kshのバージョンを安全に入手する方法は?

  1. 自分のディレクトリにR3.3.1をインストールする方法は?

  2. Lsコマンドの結果の補足を取得しますか?

  3. Fedoraに正規表現を有効にした「rename」をインストールするには?

  1. MvはFsでアトミックですか?

  2. 「インストール」コマンドの目的は?

  3. コマンド「ls -d」でディレクトリが表示されません。ファイルとディレクトリの代わりにディレクトリのみを表示するように「ls」を取得する方法はありますか?