12

when I tried to change file name from old.file(1).gz to new.file.gz, It says syntax error, I am using ubuntu 12.04.

mv old.file(1).gz new.file.gz
bash: syntax error near unexpected token `('
2
  • 8
    Try mv 'old.file(1).gz' new.file.gz.
    – user62916
    Apr 21 '14 at 8:34
  • what ubuntu is that? I've never heard of Ubuntu 12.0
    – mojo706
    Apr 21 '14 at 8:44
23

Yeti's comment will work for you, but if you would like to know why, it's because parentheses are interpreted as special characters, and have to either be escaped with \ or the entire filename quoted (as above) [edit: sorry, only the ( and ) need to be quoted].

If you have tab completion enabled, just type the first few characters of the file name and hit tab. I.e., typing mv old and hitting tab, should turn into mv old.file\(1\).gz (unless there are other potential files that old* could refer to).

1
  • 9
    The entire file name doesn't need quoting. Only the () do. You can do mv old.fil'e(1).'gz new.file.gz if you like. Apr 21 '14 at 8:53
6
mv 'old.file(1).gz' new.file.gz

should fix the problem.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.