[Shell Bash]Recuperer un resultat du find

Fermé
sl1f3r Messages postés 3 Date d'inscription vendredi 12 décembre 2008 Statut Membre Dernière intervention 13 décembre 2008 - 12 déc. 2008 à 13:12
blux Messages postés 26006 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 avril 2024 - 15 déc. 2008 à 09:26
Bonjour,
Je veux rechercher un fichier grâce a la commande find et ensuite stocker le résultat dans une variable, ça j'y arrive, mais quand le find me renvoie plusieurs résultats ça me met le premier dans ma variable et ce n'est pas nécessairement celui que je veux.
Comment faire ???

fichier=`find /home/ -name $1 -print`
ça c'est mon bout de code qui fait ce que je viens de vous décrire.

6 réponses

blux Messages postés 26006 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 avril 2024 3 289
12 déc. 2008 à 13:17
Salut,

il faut déjà décider lequel tu voudras quand plusieurs te seront renvoyés, et sur quel critère tu vas estimer que c'est le bon...
1
blux Messages postés 26006 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 avril 2024 3 289
15 déc. 2008 à 09:26
Sinon, pour récupérer la n ième ligne d'un fichier tu peux combiner tail et head.

tail +n fichier|head -1
1
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
12 déc. 2008 à 16:04
ou alors, on peut les concaténerdans la variable, un peux comme un PATH, Blux.
regarde le man de find pour formater la sortie comme tu souhaite. -printf semble l'option qu'il te faut.
0
sl1f3r Messages postés 3 Date d'inscription vendredi 12 décembre 2008 Statut Membre Dernière intervention 13 décembre 2008
12 déc. 2008 à 17:31
en réponse a blux, j'ai mis -print dans mon find de manière a afficher tout les résultats, pour choisir je pourrais mettre un variable dans laquelle je mettrais le numéro de la ligne

par exemple en resultat du find :
/.../.../.../monfichier
/.../monfichier
/.../.../monfichier

en fait ma question est : comment récupérer le deuxième par exemple
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sl1f3r Messages postés 3 Date d'inscription vendredi 12 décembre 2008 Statut Membre Dernière intervention 13 décembre 2008
13 déc. 2008 à 09:43
J'ai essayer autre chose mais la encore j'ai un probleme.
J'ai envoyé le resultat de mon find dans un txt et ensuite j'aimerais recuperer une ligne, par exemple la premiere et la mettre dans une variable.
Comment faire ?
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
15 déc. 2008 à 09:04
Blux a raison, ça n'a pas de sens de récupérer le premier. Si c'est toujours le premier que tu veux récupérer, c'est qu'il y a une logique et que donc tu peux avoir un critère.
0