En fait, pour comprendre le "\;", il faut bien comprendre le "-exec".
Le "-exec" demande au find d'exécuter une commande. Le find ne connait pas la commande à l'avance (la commande peut être "rm", "cp", chmod, etc). Donc il ne sait pas où la commande se termine (on peut faire un "-exec" suivi d'un "-print" et le find ne saurait pas si le "-print" s'applique à lui ou à la commande)
Donc, il faut indiquer à find la fin de la commande. Cette fin est symbolisée par le ";".
Sauf que le caractère ";" est un caractère utilisé par le shell. Donc si on met "find ... -exec ... ;", le shell intercepte ce ";" et le find ne le reçoit plus.
C'est pour cela que, comme l'a si bien dit Jonesy's, il faut protéger ce fameux ";" du shell en mettant un "\" pour que le shell ne le traite pas lui-même et le passe au find.
Et les accolades du "-exec" symbolisent l'emplacement, dans la commande exécutée, du fichier trouvé par le find (au cas où lloyds ne le savait pas).
Poste le Wednesday 23 February 2005 22:31:51