9

While using grep with -oG flag I accidentally create a file named -v.

-rw-rw-r-- 1 username username 334 Feb 10 14:29 -v

Now I cannot figure out how to get rid of it.

I've tried:

rm -v
rm "-v"
rm '-v'
rm -f "-v"
rm \-v

This is on a server so I only have the command line. How do I remove this file?

phs
  • 309
  • 2
  • 13
Dan
  • 6,715
  • 5
  • 26
  • 43

2 Answers2

14

The "--" argument to mv surely works (it means: "stop to interpreting strings starting with - as options from now on"), but it is worth to know also

rm ./-v 

which will work also with commands that do not have the "--" flag.

EDIT: well-behaved commands should respect the -- flag. But you never know.

Rmano
  • 31,627
  • 16
  • 118
  • 187
  • 3
    All GNU programs should adhere to `--`. It may be defined in POSIX as well. Yup, its [here](http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html). – kiri Feb 10 '14 at 21:12
  • Exactly. ./ will ALWAYS work. -- will PROBABLY work. – Alan Shutko Feb 11 '14 at 03:50
  • Didn't even think of `./` and the `--` flag is good to know. – Dan Feb 11 '14 at 14:15
13
rm -- -v

-- signifies end of options.

kiri
  • 27,676
  • 16
  • 81
  • 117