![Como renomear arquivos excluindo o caractere "usando o shell do Linux](https://rvso.com/image/1421903/Como%20renomear%20arquivos%20excluindo%20o%20caractere%20%22usando%20o%20shell%20do%20Linux.png)
Eu tenho vários arquivos com aspas duplas no nome do arquivo assim:
"Este_é_um_nome_de_arquivo_longo_com_quotes".mp3
Eu tento usar o comando linux rename, posso apagar o sublinhado facilmente usando
rename 's/_//g' *
mas quando tento com \" nada acontece (uso -n para ver as alterações):
rename -n 's/\"//g' *
nada é renomeado
obrigado!
Responder1
Você tem "aspas inteligentes" nos nomes dos arquivos:
“Tokyo_String_Quartet-Beethoven_-Late_String_Quartets-CD1-11-Quartet”.mp3
Experimente o rename
comando com aqueles inseridos em vez de"
Ou sem usar rename
você pode fazer a sed
opção:
for f in *.mp3
do
new=$(echo $f | sed -E 's/[“”]//g')
mv $f $new
done
Tal como acontece com todas as operações de shell em lote, mv
é mais seguro testar/executar em um backup da pasta original... Você pode testar substituindo echo
quando mv
tentar pela primeira vez.
Responder2
Não há necessidade de escapar de aspas duplas dentro de um único guote.
rename -n 's/"//g' *
Responder3
Consegui fazer isso no Bash com isto:
file=$(ls | grep \")
newName=$(echo $file | sed 's/\"//g')
mv $file $newName