I have a script that creates files, and sometimes they end up having two dashes at the beginning. Is there any way to delete them? mv doesn't work either.
Here is the error I am getting:
$ ls
 --1355509766.jpg
$ rm --1355509766.jpg 
rm: illegal option -- -
usage: rm [-f | -i] [-dPRrvW] file ...
   unlink file
$ rm "--1355509766.jpg"
rm: illegal option -- -
usage: rm [-f | -i] [-dPRrvW] file ...
   unlink file
                The usual trick is
rm ./--1355509766.jpg
Update: here's what man rm has to say about this:
To  remove a file whose name starts with a '-', for example '-foo', use
one of these commands:
       rm -- -foo
       rm ./-foo
                        Use -- to separate options from parameters.
$ rm -- --1355509766.jpg
This works with other commands too. For example:
$ touch -- -v         # create a file called -v
$ grep foo -- -v      # grep for "foo" in file called -v
                        Try file name with path:
$ rm ./--file.name
Example:
$ echo dgag > --test.txt
$ ls
--test.txt
$ rm ./--test.txt
$ ls
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With