Что не так с этой командой «найти»?


14

Я выполняю следующую команду (чтобы найти все файлы с .tsрасширением и удалить их):

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

Появляется ошибка:

find: paths must precede expression: `–delete'

Что я сделал не так?

Ответы:


35

У вас есть типографский знак –вместо минус ( -).

Измените свою команду на

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

Для полного синтаксиса смотрите man find:

АКЦИИ
       -delete

        Удалить файлы; истина, если удаление прошло успешно. Если удаление не удалось, выдается сообщение об ошибке.
        В случае -delete неудачи findсостояние выхода будет отличным от нуля (когда оно в конце концов выйдет).
        Использование -deleteавтоматически включает -depthопцию.


Будьте осторожны с копированием и вставкой команд из блогов и текстовых редакторов. Они могут преобразовывать некоторые типографские символы в их текстовые эквиваленты и наоборот.

В следующий раз подумайте об использовании простых текстовых редакторов для заметок - используйте простой текст, Markdown или reStructuredText.

И, как упоминал @AuxTaco, некоторые блоги могут полагаться на ваше копирование для атаки на ваш компьютер .



В данном конкретном случае мы не знаем источника этой команды. Если первоначальный автор ошибочно сделал, --то движок преобразовал его в –. Так что мы не знаем всей истории :)
— N0rbert

2
Я могу рассказать историю: я скопировал его с терминала в документ MS Word, состоящий из набора команд для развертывания нашего сервера. MS Word автоматически исправляет черту в некоторых случаях. Через год или несколько после того, как я скопировал эту команду и вопрос открылся ... Спасибо.
— Дорад

1
Вероятно, в этой ситуации лучше использовать Notepad ++, а не Word.
— Davidw

1
Никогда не используйте текстовый процессор для редактирования кода. Это (большая причина), почему все еще есть текстовые редакторы. Последнее, что вам нужно, это подставленные символы или перенос слов.
— Джо
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.