Bonjour

j'ai besoin de votre aide (débutant kornshell UNIX ) pour crée un script qui va rechercher en boucle dans le serveur ,

bon j'ai un serveur de donner qui est schématiser ainsi :


j'ai déjà crée un script qui permet de faire la recherche mais pas en boucle

petite aperçu de mon script:

# usage: sh Lget_company_access.sh NSG GFM ARM APG

export LIST=$*
STRING="|"
for LEVEL in $LIST
do
STRING="${STRING}(lawsonlevel=${LEVEL})"
done

QUERY="(&(|(slbapplication=lawson)(slbapplication=lawsonlf))(${STRING}))"

/lawtrans/secu/bin/Lsearch "${QUERY}" lawsonlevel lawsonchildren lawsoncompanyI
lawsoncompanyF



c'est a dire

lorsque j'execute le script sur par exemple MEA

donc je rentre sous unix :
./Lget_company_access.sh MEA

il me trouve tout une liste de compagnie :

dn: cn=MEA,ou=struct,o=slb,c=an
lawsonlevel: MEA
lawsonchildren: APG
lawsonchildren: ARM
lawsonchildren: BMP
lawsonchildren: CHG
lawsonchildren: EEG
lawsonchildren: FMC
lawsonchildren: GFM
lawsonchildren: ING
lawsonchildren: INM
lawsonchildren: IRG
lawsonchildren: TMV
lawsonchildren: MEA_PHQ
lawsonchildren: MEA_FE
lawsonchildren: MEA_C/JA
lawsonchildren: QTG


je suis donc obliger d'appeler encore une fois mon script pour voir ce que contient GFM par exemple :

./Lget_company_access.sh GFM

j'ai cette fois ci le N°de compagnie de GFM et les enfants de GFM

dn: cn=GFM,ou=struct,o=slb,c=an
lawsonlevel: GFM
lawsonchildren: AE
lawsonchildren: OM
lawsonchildren: YE
lawsoncompanyF: 9936


de la refais appel au script pour voir ce qui ya dans AE OM YE

je fais donc :
./Lget_company_access.sh AE OM YE

et j'ai

dn: cn=OM- Oman,ou=struct,o=slb,c=an
lawsonlevel: OM
lawsoncompanyF: 2
lawsoncompanyF: 24
lawsoncompanyF: 4000
lawsoncompanyF: 4050
lawsoncompanyF: 4051
lawsoncompanyF: 4052
lawsoncompanyF: 8

dn: cn=YE- Yemen,ou=struct,o=slb,c=an
lawsonlevel: YE
lawsoncompanyF: 4000


cette fois ci c'est bon je touche donc le fond .

La problématique commence ici:

Je veux créer un script qui permette de faire la recherche en boucle sans devoir rappeler mon script ,
1- que le fichier de sortie comporte uniquement Lawsoncompany(F ou I): N°de compagnie
2- ne comportent pas de chevauchement , pas de doublon le tout dans l'ordre

c'est a dire sous cette forme pour la compagnie GFM (par exemple):
lawsoncompanyF: 2
lawsoncompanyF: 8
lawsoncompanyF: 24
lawsoncompanyF: 4000
lawsoncompanyF: 4050-4052
lawsoncompanyF: 9936



voila voila merci encore et d'avance