Estou tentando usar mv
para renomear arquivos. Alguns dos nomes dos arquivos a serem renomeados contêm apóstrofos (ou aspas simples). E os nomes dos arquivos devem ser passados para mv
com variáveis. Mas eu não posso fazer isso funcionar.
Quando dou os nomes dos arquivos para mv
diretamente, isso funciona assim:
mv "Artificial intelligence/Markoff_Rosenberg__China's_intelligent_weaponry_gets_smarter.pdf" "Artificial intelligence/Markoff_Rosenberg__Chinas_intelligent_weaponry_gets_smarter_(r1205).pdf"
Mas quando eu uso variáveis, não funciona:
orig="Artificial intelligence/Markoff_Rosenberg__China's_intelligent_weaponry_gets_smarter.pdf"
new="Artificial intelligence/Markoff_Rosenberg__Chinas_intelligent_weaponry_gets_smarter_(r1205).pdf"
mv "$orig" "$new"
Eu recebo a seguinte mensagem de erro:
mv: cannot stat 'Artificial intelligence/Markoff_Rosenberg__China'\''s_intelligent_weaponry_gets_smarter.pdf': No such file or directory
Por que isso? Por que há um \''
extra no nome do arquivo na mensagem de erro? E qual é a solução para o problema?
Agradecemos antecipadamente por sua ajuda!
Tags bash