Batch renomeando nomes de arquivos JPG no CentOS 7

1

Eu tenho cerca de 80 desses arquivos no meu diretório.

-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

Estou executando o CentOS 7.0 e tenho renomeado instalado.

[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)

No entanto, o seguinte não renomeia nenhum arquivo para mim. Eu tentei um monte de maneiras diferentes vistas no SuperUser, mas nenhuma delas parece funcionar.

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

Estou fazendo algo stoopid?

    
por crmpicco 13.11.2015 / 17:54

1 resposta

4

Não é assim que rename funciona. O comando "rename" do util-linux só aceita duas strings estáticas (pesquisa básica e substituição):

rename "Women" "W" *.jpg

Para a sintaxe regex tipo Perl, você precisará de rename.pl também conhecido como perl-rename . Não é empacotado para o CentOS, mas você pode obtê-lo diretamente do CPAN como File::Rename module

Algumas distros como o Debian trocarão os nomes, então rename é Perl e rename.ul do util-linux, eu acho que é daí que vem a confusão.

    
por 13.11.2015 / 18:51