Erreur avec un nom de fichier contenant des parenthèses

10

quand j'ai essayé de changer le nom du fichier de old.file(1).gzen new.file.gz, Il indique une erreur de syntaxe, j'utilise ubuntu 12.04.

mv old.file(1).gz new.file.gz
bash: syntax error near unexpected token `('
jack
la source
8
Essayez mv 'old.file(1).gz' new.file.gz.
c'est quoi ubuntu? Je n'ai jamais entendu parler d'Ubuntu 12.0
mojo706

Réponses:

21

Le commentaire de Yeti fonctionnera pour vous, mais si vous souhaitez savoir pourquoi, c'est parce que les parenthèses sont interprétées comme des caractères spéciaux et doivent être soit échappées avec, \soit le nom de fichier entier cité (comme ci-dessus). ) doivent être cités].

Si l'achèvement de tabulation est activé, tapez simplement les premiers caractères du nom de fichier et appuyez sur tab. C'est-à-dire, en tapant mv oldet en appuyant sur l'onglet, devrait se transformer en mv old.file\(1\).gz(sauf s'il existe d'autres fichiers potentiels auxquels old*vous pourriez vous référer).

Jangari
la source
8
Le nom de fichier entier n'a pas besoin d'être cité. Seul le ()faire. Vous pouvez le faire mv old.fil'e(1).'gz new.file.gzsi vous le souhaitez.
Stéphane Chazelas
5
mv 'old.file(1).gz' new.file.gz

devrait résoudre le problème.

Satheesh K
la source