2017-10-12 1 views
0

Je dois recurquer un répertoire et supprimer tous les fichiers avec js et les extensions de carte.La commande Unix ne fonctionne pas

ce que j'ai actuellement qui ne fonctionne pas est

find . -name *.js -or -name *.map | xargs rm 

Quelque chose ne va évident avec cette commande?

+0

d'abord, déboguer de manière sûre. Changez 'xargs rm' en' xargs echo' et validez votre sortie. Deuxièmement, essayez la commande réelle à partir de la ligne de commande avant de partir et alias. Alors lancez cette commande find dans le shell et voyez ce que vous obtenez. Vous devriez voir les noms de tous les fichiers qu'il trouve. Si vide, vous avez des problèmes avec les noms de fichiers ou pas de fichiers. –

+0

trouver la commande est le problème, il ne retourne rien. Je n'aurais pas du inclure l'alias du tout. Je vais mettre à jour la question – reza

+0

Trouver la commande fonctionne dans mon shell sur les fichiers se terminant par .py dont j'ai beaucoup. Le problème n'est pas la commande, mais plutôt ce sur quoi elle travaille. –

Répondre

3

Le shell développe probablement les arguments à trouver. Les citer:

find . \(-name '*.js' -or -name '*.map' \) -delete 
+1

Notez que (selon votre shell et vos paramètres) la commande d'origine fonctionnera probablement s'il n'y a pas de fichiers correspondants dans le répertoire en cours. –