私のディレクトリにはこれらのファイルが約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
私は愚かなことをしていますか?
それは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からのものであり、混乱の原因だと思います。