|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 26 ![]() |
Bonjour
j'ai besoin de votre aide (débutant kornshell UNIX 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 |
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() K-Z. F.Ingénieur sécurité Inscription : juin 2006 Messages : 393 ![]() |
Yop,
ls -aR tondossierdedépart Cela va te lister tout ton répertoire et afficher le contenu de chaque répertoire et sous répetoire... Dis moi déja si cela te va, car j'ai pas trop compris ta demande :s @+++ Fkz |
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() Inscription : mars 2004 Messages : 3 109 ![]() |
J'ai du mal a comprendre ce que tu cherches réellement,
Si c'est simplement les fichiers , la commande est find est très bien Tu fais varier * pour te faire des filtres
__________________
Ancien Rédacteur Linux && Unix / Nouveau retraité de DVP The UNIX way of sex: gunzip;strip;touch;finger;mount;fsck;more;yes;umount;sleep Je ne réponds ni aux messages privées, ni aux messages plein de fautes... |
|
|
00
|
|
|
#4 | |
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 26 ![]() |
Citation:
pour commencer pourriez vous m'aider a convertir cette liste de telle sorte que je n'ai uniquement lawsoncompanyF(ou I):N°de compagnie c'est a dire ne comportent pas de chevauchement , pas de doublon le tout dans l'ordre Fichier d'entrer : 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 dn: cn=GFM,ou=struct,o=slb,c=an lawsonlevel: GFM lawsonchildren: AE lawsonchildren: OM lawsonchildren: YE lawsoncompanyF: 9936 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 Fichier de sortie lawsoncompanyF: 2 lawsoncompanyF: 8 lawsoncompanyF: 24 lawsoncompanyF: 4000 lawsoncompanyF: 4050-4052 lawsoncompanyF: 9936 merci d'avance |
|
|
|
00
|
|
|
#5 | ||
|
Membre chevronné
![]() K-Z. F.Ingénieur sécurité Inscription : juin 2006 Messages : 393 ![]() |
Yop,
en faisant: Code :
lawsoncompanyF: 2 lawsoncompanyF: 8 lawsoncompanyF: 24 lawsoncompanyF: 4000 lawsoncompanyF: 4050-4052 lawsoncompanyF: 9936 lawsoncompanyF: 4000 Il ne te reste plus qu'a supprimer le doubon @++ F-k-z |
||
|
00
|
|
|
#6 | |||
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 26 ![]() |
Citation:
merci (ps : comment fais tu pour les doublon ) |
|||
|
|
00
|
|
|
#7 | ||
|
Membre chevronné
![]() K-Z. F.Ingénieur sécurité Inscription : juin 2006 Messages : 393 ![]() |
Yop, avec awk je n'ai pas testé dsl, mais je vais voir si je trouve sinon pour ton script
Code :
F-k-z ps: j'utilise "cat" car la commande tail n'affiche pas tout selon la configuration :] |
||
|
00
|
|
|
#8 | |||
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 26 ![]() |
Citation:
hmm... je n'ai aucun contenue dans le fichier de sortie , est-ce normal ? ps:j'utilise le SHELL KORN |
|||
|
|
00
|
|
|
#9 |
|
Membre chevronné
![]() K-Z. F.Ingénieur sécurité Inscription : juin 2006 Messages : 393 ![]() |
Yop,
tu peux retirer la dernière ligne rm fichiertmp1 fichiertmp2 et me dire ce que tu as dans les fichiertmp1 et fichiertmp2 @++ Fkz |
|
00
|
|
|
#10 | |
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 26 ![]() |
Citation:
|
|
|
|
00
|
|
|
#11 | |
|
Membre chevronné
![]() K-Z. F.Ingénieur sécurité Inscription : juin 2006 Messages : 393 ![]() |
Juste une question il y a quoi dans ton fichier en entrée?
Citation:
@++ F-k-z |
|
|
00
|
|
|
#12 | |
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 26 ![]() |
Citation:
|
|
|
|
00
|
|
|
#13 |
|
Membre chevronné
![]() K-Z. F.Ingénieur sécurité Inscription : juin 2006 Messages : 393 ![]() |
quand tu fais
cat tonfichierenentrée cela t'affiche bien le contenu de ton fichier ? Si ce n'ets pas le cas, vérifies que tu as bien ecrit le nom de ton fichier. Si oui, que t'affiche la commande cat tonfichierenentrée | grep lawsoncompanyF: @++ F-k-z |
|
00
|
|
|
#14 | |
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 26 ![]() |
Citation:
lorsque je rentre directement dans le shell sa fct mais lorsque je fais un script ne marche pas , petite aperçue du script : #!/usr/bin/ksh cat test1 | grep lawsoncompagnyF: | grep lawsoncompanyI: > fichiertmp1 sort -r fichiertmp1 > fichiertmp2 uniq fichiertmp2 > test rm fichiertmp1 fichiertmp2 |
|
|
|
00
|
|
|
#15 | ||||||
|
Membre chevronné
![]() K-Z. F.Ingénieur sécurité Inscription : juin 2006 Messages : 393 ![]() |
Yop,
essaies avec ceci: Code :
Code :
@++ F-k-z ps: dans le seocnd code, fais bien attention au ">>" qui ecrit à la suite du fichier au lieu de tout écrasser //edit: voici un code bcp plus propre: Code :
|
||||||
|
00
|
|
|
#16 | |||||||||||
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 26 ![]() |
Citation:
il ne manque plus qu'a trouver le moyen de mettre tous ça en ordre et sans chevauchement: passer de ça : Code :
Code :
et merci encore mille fois !!! |
|||||||||||
|
|
00
|
|
|
#17 | ||
|
Membre chevronné
![]() K-Z. F.Ingénieur sécurité Inscription : juin 2006 Messages : 393 ![]() |
Yop,
teste ceci: Code :
@++ F-k-z |
||
|
00
|
|
|
#18 | |||
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 26 ![]() |
Citation:
merci
|
|||
|
|
00
|
|
|
#19 |
|
Membre chevronné
![]() K-Z. F.Ingénieur sécurité Inscription : juin 2006 Messages : 393 ![]() |
Qu'appelles-tu le chevauchement?
Car la j'ai un peu de mal à saisir :s @++ F-k-z Ps: je t'enverrai la facture lol |
|
00
|
|
|
#20 | |||||
|
Invité de passage
![]() Inscription : juillet 2007 Messages : 26 ![]() |
Citation:
!pour le chevauchement c'est passer de ça : Code :
Code :
|
|||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com