Bonjour tout le monde,
Je suis un étudiant débutant au système linux et je vendrais savoir l'explication de la commande suivant :
Code:find . -type f -name "*.java" -exec grep -l stringbuffer {} \;
Merci d'avance pour vos réponses
Version imprimable
Bonjour tout le monde,
Je suis un étudiant débutant au système linux et je vendrais savoir l'explication de la commande suivant :
Code:find . -type f -name "*.java" -exec grep -l stringbuffer {} \;
Merci d'avance pour vos réponses
Salut,
Je débute aussi, mais de ce que j'en comprend, on cherche les fichiers dont le nom se termine par .java, et quand il en trouve un, il exécute la commande "stringbuffer {} \;" et là je sèche. C'est un objet java il me semble. As tu une fonction nommée stringbuffer dans le reste du code sinon?
Edit : il cherche dans le fichier la ligne où est écrit "stringbuffer", le {} veut dire selon moi qu'il peut être trouvé un nombre de fois indéfini (voir le man avec {n} ), et le \; je n'ai pas la réponse. \ est utilisé pour les métacaractères.
- find : recherche
- . : a partir de l'endroit où je suis (le répertoire courant)
- -type f : des fichiers (et donc pas des répertoires ou ...)
- -name "*.java" : dont le nom est "quelquechose.java"
- -exec : execute sur chaque fichier trouvé
- grep -l stringbuffer : affiche le nom du fichier s'il contient stringbuffer -- d'ailleurs, ne serait-ce pas stringBuffer, ou StringBuffer ?
- {} : insert le nom du fichier trouvé par find dans la commande grep à cet endroit
- \; : fin du -exec