Je voulais supprimer des fichiers supérieurs à 2 Mo dans un dossier spécifique. J'ai donc couru:
find . -size +2M
Et j'ai une liste de deux fichiers
./a/b/c/file1
./a/f/g/file2
Je lance donc:
find . -size +2M -exec rm ;
et je reçois le message d'erreur Find: missing argument to -exec
Je vérifie la syntaxe dans la page de manuel et ça dit -exec command ;
Alors au lieu de ça j'essaye
find . -size +2M -exec rm {} +
Et il fonctionne. Je comprends que le {} lui fait exécuter la commande comme rm file1 file2
au lieu de rm file1; rm file2;
.
Alors pourquoi le premier n'a-t-il pas fonctionné?
RÉPONSE:
Je suppose que je devais juste RTFM quelques fois pour enfin comprendre ce qu'il disait. Même si le premier exemple ne montre pas {}, les accolades sont obligatoires dans tous les cas. Et puis ajoutez \; ou + selon la méthode souhaitée. Ne vous contentez pas de lire l'en-tête. Lisez également la description. Je l'ai.