BASH resultats d'un find dans variables

Résolu/Fermé
ponpon27 Messages postés 38 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 22 novembre 2010 - 11 oct. 2007 à 11:09
ponpon27 Messages postés 38 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 22 novembre 2010 - 15 oct. 2007 à 15:38
Bonjour,

Voila mon soucis.

J'aimerais envoyé le resultat d'une commande find dans une variable.Jusque la rien de sorcier si ce n'est qu'il se peut que cette commande ( find) me retourne plusieurs resultats et j'aimerais que chaque resultat aille dans 1 variable differente , ex: resultat 1 --> var1, si il existe un 2eme resullat du find --> var2, etc...

merki.

10 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
11 oct. 2007 à 12:19
Salut,

un exemple
find /chemin -name "*.txt" | while read line; do var[$i]=$line; echo "${var[$i]}";i=$((i+1)); done
--
lami20j
2
ponpon27 Messages postés 38 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 22 novembre 2010 1
11 oct. 2007 à 12:05
aie..personne?

J'espere que c'est faisable au moins!

le but est de localiser un fichier dans une arborescence ( possible presence de ce fichier dans plusieurs endroit de l'arborescence) et par la suite de mettre un autre fichier aux cotés du fichier préalablement localiser. pas claire non?
1
ponpon27 Messages postés 38 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 22 novembre 2010 1
11 oct. 2007 à 13:13
houla..lol

tu pourrais me detailler un peu les differentes étapes stp?

D'avance , merci.
0
ponpon27 Messages postés 38 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 22 novembre 2010 1
11 oct. 2007 à 14:32
Voila a peu pres ou j'en suis ..en gros pas loin..desolé je debute.

But:
Mettre dans le meme repertoire que tous les fichiers .gif un fichier nommé hihihihi et affecté a ce fichier hihihihi utilisateur=Nom d'un repertoire ou se trouve un fichier .m4 et groupe=users

#!/bin/bash

find /home/XXXX -type f -name *.m4 | while read line ;
do
var {$nom}=`basename {$line}`
find /home/XXXX/yyy -name *.gif | while read LINE ;

do
cd $LINE ; cp /home/XXXX/hihihihi . ; chown $nom:users hihihihi
done
done


cela ne marche pas car il me retourne a l'ecran : " find: /home/XXXX/yyy : Aucun fichier ou répertoire de ce type
./script_test: line 5: var: command not found

N'hesitez pas à m'aider lol..j'en ai besoin je crois.
0

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

Posez votre question
ponpon27 Messages postés 38 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 22 novembre 2010 1
11 oct. 2007 à 14:34
Arff pour ma 1ere remontée d'erreur c'etait ( comme toujours) de ma faute..une faute de frappe dans le chemin. desolé...je modifie et je retest. Merci encore
0
ponpon27 Messages postés 38 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 22 novembre 2010 1
11 oct. 2007 à 15:04
Bon evidement la, je lui demande de faire un " cd $LINE" alors que LINE est le chemin du fichier et pas du repertoire qui heberge ce fichier..arffff comment faire?
0
ponpon27 Messages postés 38 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 22 novembre 2010 1
12 oct. 2007 à 11:02
J'ai un autre probleme avec ce script.... je fais une boucle while dans une autre boucle while.or j'ai besoin d'une variable dans ma 2eme boucle qui aurait été initialisée dans ma 1ere boucle :

find ......... | while read line ; do
... .... ... ...
find xxxxxx | while read truc ; do
machin=$( basename $line)

done
done


comment faire pour utiliser ma variable line initialisée dans ma boucle pricipale , dans ma boucle interne ?

merciiiiiiiii
0
ponpon27 Messages postés 38 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 22 novembre 2010 1
12 oct. 2007 à 15:14
Voila je progresse...;

J'aimerais pouvoir exporter ma variable $nom issue de mon premier while dans mon while fils...

j'ai esayer export nom mais ca n'a pas l'air de fonctionner
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
13 oct. 2007 à 13:48
hello
export nom ou export nom=valeur
affiche ton script
0
ponpon27 Messages postés 38 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 22 novembre 2010 1
15 oct. 2007 à 15:38
Meric ca fonctionne avec export nom

Merci bcp
0