多くのサイト(さまざまなSO記事を含む))では、Perl式を使用した「名前変更」を使用してファイルの名前を変更することについて説明しています。
これは完璧ですが、どうやらこれは私が持っている名前変更ユーティリティではありません。これらの記事はどれも、「名前変更」のバージョンが複数あることを理解していないようで、Perl式を受け入れるバージョンをどこで取得できるかわかりません。
here 、 here 、および here で言及されているより強力な名前変更ユーティリティを入手するにはどうすればよいですか?
私はFedora 20を実行しています。現在の名前変更コマンドはutil-linux
パッケージで、どうやらPerlバージョンが必要なようです。
私はDebianのためだけに話すことができます。 2つのプログラムが呼び出されます
/usr/bin/rename.ul
util-linux
パッケージから(したがって、.ulサフィックス)Perl
パッケージの/usr/bin/prename
実際のrename
コマンドは/etc/alternatives
メカニズムを介して機能します。
/usr/bin/rename
は/etc/alternatives/rename
へのシンボリックリンクです/etc/alternatives/rename
は/usr/bin/prename
へのシンボリックリンクです同じ問題がRed Hat製品であるCygwinで私を悩ませてきたので、Fedoraにより似ているはずです。月曜日に会社のラップトップを見る予定です。そして、Perl-renameが時々そこで働いていたことを覚えています。おそらくutil-linux
をインストールする前でしょう。
Perlの名前変更を/usr/local/bin
にインストールすると、util-linux
のrename
よりも優先されます。 /usr/local/share/man/man1/
にインストールした場合のマンページも同様です。
Githubに別のPerl-renameパッケージを作成しました: https://github.com/subogero/rename
cpan を使用してインストールできます。これは、Pythonのpipに似たPerlリポジトリです。
ここにcpanの使用に関する tutorial があります。
名前を変更しようとすると、次のようになります。
名前変更--help
呼び出し:名前をファイルに変更...
Perlの名前変更をインストールするには、次のようにします。いくつかの依存関係をインストールする必要があるかもしれませんが、通常は単にEnterキーを押すだけです。
cpan
cpan 1 > install File :: Rename
CPAN:格納可能なロード済み(v2.20)
「/ root/.cpan/Metadata」を読みます
データベースは2015年9月30日水曜日の08:17:02 GMTに生成されました
モジュール 'File :: Rename'のインストールを実行しています
....
Build installを実行しています
/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
私は次のことをしなければなりませんでした:
# In bash
Sudo yum install Perl-CPAN
Sudo cpan
# In CPAN Shell
install Module::Build
install File::Rename
Debianファミリ(.deb
)ディストリビューションです。@ SzGの answer をお勧めします。
RedHatファミリ(.rpm
)ディストリビューション(例:Fedora)、時間が高品質(私のものと同じ)の場合、ソースから cpan
in one、terseコマンド:
# Install (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 )
# Cleanup
rm -rf "rename-1.9"
注:
INSTALL_BASE
を設定して、基本インストールディレクトリを変更できます。例(
Perl "Makefile.PL" INSTALL_BASE=/usr/local