cd
para sua pasta e execute mmv '*.tar*' '#1.tar'
Se você não tiver o mmv instalado, execute sudo apt-get install mmv
Gostaria de renomear a extensão .tar?h=ocdist105&=%2Fdata1%2F4070d0f0f1d62757%2Frequested_files
para apenas .tar
Eu tentei o comando
rename 's/\.tar?h=ocdist105&p=%2Fdata1%2F4070d0f0f1d62757%2Frequested_files$/.tar/' *.tar?h=ocdist105&p=%2Fdata1%2F4070d0f0f1d62757%2Frequested_files
mas parece não estar funcionando. Eu tenho 550 arquivos com essa extensão. Alguém pode me ajudar? Obrigado
cd
para sua pasta e execute mmv '*.tar*' '#1.tar'
Se você não tiver o mmv instalado, execute sudo apt-get install mmv
Você pode conseguir isso usando find, exec e rename. Tenho certeza de que isso funcionará no Ubuntu sem precisar de nada especial.
#!/bin/bash
find /path/to/files -name "*.tar?h=ocdist105&=%2Fdata1%2F4070d0f0f1d62757%2Frequested_files" -exec rename .tar?h=ocdist105&=%2Fdata1%2F4070d0f0f1d62757%2Frequested_files .tar {} \;
Isso não foi testado, mas deve funcionar. Aqui está o que o comando parece ao tentar renomear a extensão .css
to .txt
por exemplo; para maior clareza.
#!/bin/bash
find /path/to/files -name "*.css" -exec rename .css .txt {} \;
Para usar
Coloque o conteúdo acima em um arquivo. Dê as permissões executáveis do arquivo e execute-as.
TESTE
Você pode testar o comando acima para ver qual será o resultado sem realmente fazer alterações adicionando -n
após o rename
.
#!/bin/bash
find /path/to/files -name "*.css" -exec rename -n .css .txt {} \;
O rename
e o seu shell tratam algum caractere como especial. Você deve escapar deles corretamente.
Este comando deve fazer o trabalho:
rename 's/\.tar\?h\=ocdist105\&\=%2Fdata1%2F4070d0f0f1d62757%2Frequested_files$/.tar/' *.tar\?h\=ocdist105\&\=%2Fdata1%2F4070d0f0f1d62757%2Frequested_files
Se você quiser saber como eu gerava esse comando, saiba que a conclusão de tabulação é um amigo útil ao lidar com esse tipo de problema.