Você não deve usar rename
para renomear apenas um arquivo, use mv
(1) em vez disso.
Além disso, para escapar da whitepsace, prefixe-a com \
:
"Ubuntu One"
→ Ubuntu\ One
Seu comando seria
mv bla\ bla.txt blabla.txt
-
a barra invertida informa ao bash que o próximo caractere é de alguma forma especial, por ex.
\a
para 'bell',\
para um espaço literal e assim por dianteveja
man ascii
(7) para mais
Como alternativa, já que você está usando o comando mv
, você pode citar o nome do arquivo se houver muitos espaços:
mv "bla bla.txt" blabla.txt
(Isso seria bla\ \ \ \ bla.txt
no formato de escape)
-
No bash, as strings entre aspas (aspas simples ou duplas) são tratadas como um único argumento, enquanto strings sem aspas serão divididas em vários argumentos, como este:
-
["mv", "bla", "bla.txt", "blabla.txt", ]
e
mv
esperam:-
["mv", "source", "destination", ]
-
-
Nota: digitar 'mv' e os primeiros caracteres do nome do arquivo e pressionar TAB lhe dará a versão com escape do nome do arquivo, tornando o renomear rápido e fácil.
rename
é usado para processar em lote a renomeação de arquivos usando expressão regular, como demonstrado no exemplo de seu homem -página :
rename 's/\.bak$//' *.bak
Para remover qualquer ocorrência de .bak (no final da string [$]) de todos os arquivos correspondentes a "* .bak".