Quel est le problème avec cette commande "find"?

14

J'exécute la commande suivante (pour trouver tous les fichiers avec .tsextension et les supprimer):

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

Une erreur apparaît:

find: paths must precede expression: `–delete'

Qu'est ce que j'ai mal fait?

Dorad
la source

Réponses:

35

Vous avez un signe typographique au lieu de moins ( -).

Changez votre commande en

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

Pour une syntaxe complète, voir man find:

ACTIONS
       -delete

        Supprimer les fichiers; true si la suppression a réussi. Si la suppression a échoué, un message d'erreur est émis.
        En cas d' -delete échec, findle statut de sortie de sera différent de zéro (quand il se fermera finalement).
        L'utilisation de -deleteactive automatiquement l' -depthoption.


Soyez prudent lorsque vous copiez et collez des commandes de blogs et de processeurs de texte enrichi. Ils peuvent transformer certains symboles typographiques en leurs équivalents en texte brut et vice versa.

Pensez à utiliser de simples éditeurs de texte pour les notes la prochaine fois - utilisez du texte brut, Markdown ou reStructuredText.

Et comme @AuxTaco l'a mentionné - certains blogs peuvent s'appuyer sur votre copie pour attaquer votre ordinateur .

N0rbert
la source
Dans ce cas particulier, nous ne connaissons pas la source de cette commande. Si l'auteur d'origine avait à tort --alors converti le moteur en . Nous ne connaissons donc pas toute l'histoire :)
N0rbert
2
Je peux raconter l'histoire: je l'ai copié-collé du terminal vers un document MS Word composé d'un jeu de commandes pour déployer notre serveur. MS Word corrige automatiquement le tiret dans certains cas. Puis un an ou plus après avoir copié cette commande et la question s'est ouverte ... Merci.
Dorad
1
Il est probablement préférable d'utiliser Notepad ++ dans cette situation plutôt que Word.
Davidw
1
N'utilisez jamais de traitement de texte pour modifier le code. C'est (une grande raison) pourquoi il y a encore des éditeurs de texte. La dernière chose dont vous avez besoin est des caractères substitués ou un retour à la ligne.
Joe