2012-12-17 11 views
5

Mam skrypt, który tworzy pliki, a czasem kończy się o 2 kreski na początku, czy jest jakiś sposób, aby je usunąć mv nie działa alborm nie można usunąć pliki zaczynające się od -

Oto error jestem coraz

$ 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 

Odpowiedz

19

zazwyczaj Sztuką jest

rm ./--1355509766.jpg 

Aktualizacja: oto co man rm ma do powiedzenia na ten temat:

To remove a file whose name starts with a '-', for example '-foo', use 
one of these commands: 

     rm -- -foo 

     rm ./-foo 
9

Użyj --, aby oddzielić opcje od parametrów.

$ rm -- --1355509766.jpg 

Działa to również z innymi komendami. Na przykład: nazwa pliku

$ touch -- -v   # create a file called -v 
$ grep foo -- -v  # grep for "foo" in file called -v 
6

spróbuj ścieżce:

$ rm ./--file.name 

Przykład:

$ echo dgag > --test.txt 
$ ls 
--test.txt 
$ rm ./--test.txt 
$ ls 
+0

Tak, to było wspaniałe .... ja nazwę pliku, które zaczynają się hash sign # file_name # i tak zostałem usunięty rm ./#file_name# – zee

Powiązane problemy