Erro com um nome de arquivo contendo parênteses

10

quando tentei mudar o nome do arquivo de old.file(1).gzpara new.file.gz, diz erro de sintaxe, estou usando o ubuntu 12.04.

mv old.file(1).gz new.file.gz
bash: syntax error near unexpected token `('
jack
fonte
8
Tente mv 'old.file(1).gz' new.file.gz.
que ubuntu é esse? Eu nunca ouvi falar do Ubuntu 12.0
mojo706

Respostas:

21

O comentário de Yeti funcionará para você, mas se você quiser saber o motivo, é porque os parênteses são interpretados como caracteres especiais e precisam ser escapados com \ou com o nome do arquivo inteiro citado (como acima) [editar: desculpe, apenas o (e ) precisam ser citados].

Se a conclusão da guia estiver ativada, basta digitar os primeiros caracteres do nome do arquivo e clicar na guia. Ou seja, digitando mv olde pressionando a guia, deve se transformar em mv old.file\(1\).gz(a menos que haja outros arquivos em potencial que old*possam se referir).

Jangari
fonte
8
O nome do arquivo inteiro não precisa ser citado. Somente o ()fazer. Você pode fazer mv old.fil'e(1).'gz new.file.gzse quiser.
Stéphane Chazelas
5
mv 'old.file(1).gz' new.file.gz

deve corrigir o problema.

Satheesh K
fonte