Linux Ask!

Linux Ask! is a Q & A web site specific for Linux related questions. Questions are collected, answered and audited by experienced Linux users.

How to escape "-" character at the beginning of filename?

Answer:

Assume you have file named -test.txt, if you want to print it out by the cat command:

# cat -test.txt
cat: invalid option -- '.'
Try `cat --help' for more information.

You will experienced the above error, similar errors will happen with commands such as mv, cp etc.

To correctly handle these kind of files that with file name start with the character -, you need to escape with --

e.g.

#cat -- -test.txt
test
  1. xargs when the filename contains a newline
  2. Wide character in print… warning in Perl
  3. Character classes not working in grep command
  4. Remove newline character from the end of a string in Perl
  5. How to grep for tab character(s) in Linux

Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>