web-dev-qa-db-ja.com

CentOS7でJPGファイル名の名前を一括変更

私のディレクトリにはこれらのファイルが約80個あります。

-rw-rwxr--+ 1 vagrant vagrant  38122 Nov 13 12:19 CRMPicco RFC16 Women's 80.jpg
-rw-rwxr--+ 1 vagrant vagrant 101286 Nov 13 12:19 CRMPicco RFC16 Women's 8.jpg
-rw-rwxr--+ 1 vagrant vagrant  30110 Nov 13 12:19 CRMPicco RFC16 Women's 9.jpg

CentOS 7.0を実行していて、名前変更がインストールされています。

[vagrant@crmpicco /var/www/crmpicco/web/php/upload/10111/165-190]# which rename
/usr/bin/rename

cat /etc/redhat-release
CentOS Linux release 7.0.1406 (Core)

ただし、以下はファイルの名前を変更しません。 SuperUserで見られるさまざまな方法を試しましたが、どれも機能していないようです。

[vagrant@crmpicco /var/www/crmpicco/web/php/upload/10111/165-190]# rename s/Women/W/ *.jpg

私は愚かなことをしていますか?

2
crmpicco

それはrenameがどのように機能するかではありません。 util-linuxの「rename」コマンドは2つの静的文字列(基本的な検索と置換)のみを受け入れます。

rename "Women" "W" *.jpg

Perlのような正規表現構文の場合、rename.pl別名Perl-rename。 CentOS用にパッケージ化されていませんが、File::Renameモジュールとして CPANから直接 入手できます。

Debianなどの一部のディストリビューションは名前を交換するため、renameはPerlから、rename.ulはutil-linuxからのものであり、混乱の原因だと思います。

5
user1686