Error con un nombre de archivo que contiene paréntesis

10

cuando intenté cambiar el nombre del archivo de old.file(1).gza new.file.gz, dice error de sintaxis, estoy usando ubuntu 12.04.

mv old.file(1).gz new.file.gz
bash: syntax error near unexpected token `('
Jack
fuente
8
Tratar mv 'old.file(1).gz' new.file.gz.
¿Qué es Ubuntu? Nunca he oído hablar de Ubuntu 12.0
mojo706

Respuestas:

21

El comentario de Yeti funcionará para usted, pero si desea saber por qué, se debe a que los paréntesis se interpretan como caracteres especiales, y deben omitirse con \el nombre de archivo completo o citado (como se indicó anteriormente) [editar: lo siento, solo el (y ) necesita ser citado].

Si tiene habilitada la finalización de pestañas, simplemente escriba los primeros caracteres del nombre del archivo y presione la pestaña. Es decir, escribir mv oldy presionar la pestaña, debería convertirse en mv old.file\(1\).gz(a menos que haya otros archivos potenciales a los que se old*pueda hacer referencia).

Jangari
fuente
8
El nombre completo del archivo no necesita comillas. Solo el ()hacer. Puedes hacerlo mv old.fil'e(1).'gz new.file.gzsi quieres.
Stéphane Chazelas
5
mv 'old.file(1).gz' new.file.gz

Debería solucionar el problema.

Satheesh K
fuente