Co jest złego w tym poleceniu „znajdź”?


14

Wykonuję następujące polecenie (aby znaleźć wszystkie pliki z .tsrozszerzeniem i je usunąć):

find . -type f -name "*.ts" –delete

Wyświetlany jest błąd:

find: paths must precede expression: `–delete'

Co zrobiłem źle?

Odpowiedzi:


35

Masz znak typograficzny zamiast minus ( -).

Zmień polecenie na

find . -type f -name "*.ts" -delete

Pełna składnia patrz man find:

DZIAŁANIA
       -delete

        Usuń pliki; true, jeśli usunięcie się powiodło. Jeśli usunięcie się nie powiedzie, zostanie wyświetlony komunikat o błędzie.
        Jeśli się -delete nie powiedzie, findstatus wyjścia będzie niezerowy (kiedy w końcu wyjdzie).
        Użycie -deleteautomatycznie włącza -depthopcję.


Zachowaj ostrożność podczas kopiowania i wklejania poleceń z blogów i procesorów tekstu sformatowanego. Mogą przekształcać niektóre symbole typograficzne w ich ekwiwalenty zwykłego tekstu i odwrotnie.

Rozważ użycie prostych edytorów tekstu do notatek następnym razem - użyj zwykłego tekstu, Markdown lub reStructuredText.

Jak wspomniano w @AuxTaco - niektóre blogi mogą polegać na kopiowaniu w celu zaatakowania komputera .



W tym konkretnym przypadku nie znamy źródła tego polecenia. Jeśli oryginalny autor błędnie to zrobił, --silnik przekonwertował go na . Nie znamy więc całej historii :)
N0rbert

2
Mogę opowiedzieć historię: skopiowałem ją z terminala do dokumentu MS Word składającego się z zestawu poleceń do wdrożenia naszego serwera. MS Word w niektórych przypadkach automatycznie naprawia myślnik. Potem rok lub jakiś po skopiowaniu tego polecenia i pytanie otworzyło się ... Dzięki.
Dorad

1
Prawdopodobnie lepiej jest używać Notepad ++ w tej sytuacji, niż Word.
Davidw

1
Nigdy nie używaj edytora tekstu do edycji kodu. To (duży powód), dlaczego wciąż istnieją edytory tekstu. Ostatnią rzeczą, której potrzebujesz, są podstawione znaki lub zawijanie wyrazów.
Joe
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.