IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation système Discussion :

[AIX - ksh] Conversion base64 et implémentation dans awk


Sujet :

Programmation système

  1. #1
    Nouveau membre du Club Avatar de I folima Elda
    Homme Profil pro
    Programmeur & Intégrateur
    Inscrit en
    Décembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Programmeur & Intégrateur

    Informations forums :
    Inscription : Décembre 2007
    Messages : 34
    Points : 34
    Points
    34
    Par défaut [AIX - ksh] Conversion base64 et implémentation dans awk
    Bonjour à tous,

    Je suis actuellement en train de travailler sur un script d'interrogation d'un annuaire LDAP. Pour cela, j'utilise la commande ldapsearch -L (avec tout le reste du bazar derrière).
    Tout fonctionne bien à un détail prêt. En effet, quand ldapsearch rencontre une valeur avec un caractère non-ASCII (exemple, caractères accentué tel que ô), il convertit toute la valeur en base64. C'est son comportement normal (allez savoir pourquoi

    J'ai recherché sur internet, un moyen de convertir cette valeur avec ma machine: base64 -d fic ou iconv -f encode -t decode < input.txt > output.txt ne fonctionnent pas sur ma machine malheureusement.
    J'en ai trouvé une autre qui fonctionne très bien: perl -MMIME::Base64 -le 'print decode_base64("Q29udHL0bGV1cg==")'

    Maintenant, mon but est de l'intégrer dans ma phase de traitement de mon fichier de départ (où je fait divers modifications pour la suite de mon script). Comme je n'ai que certaines lignes qui me pose soucis, je suis partis sur un awk afin d'identifier la ligne que je désire et récupérer la valeur pour la décoder et la remplacer.
    Je pense qu'il s'agit surtout d'un jeu de ' et ", mais j'ai du mal avec.
    Voici mon code actuel, non fonctionnel pour le awk. Je n'ai pas encore trouvé le moyen également de remplacer la valeur. Je suis preneur si vous avez la solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    (ldapsearch -h ${ANNUAIRE}:389 -D "cn=${CNLDAP},ou=applications,ou=dgfip,ou=mefi,o=gouv,c=fr" -w ${PASS} -b "o=gouv,c=fr" -L profilApplicatif="${APPLI_LDAP};*" && echo) > $FIC_LDAP_FULL_ORI
    
    cat $FIC_LDAP_FULL_ORI\
    	| sed -e "s/: /=/g"\
    	| sed -e :a -e '$!N;s/\n //;ta' -e 'P;D'\
    	| perl -pe "s/<(?:NAME|ACLVALUE)>([^<]*)<\/(?:NAME|ACLVALUE)>/=\1=/g"\
    	| awk -F "=" '
    		/^title:/	{'titre_modif=$(perl -MMIME::Base64 -le "print decode_base64('$2')")'		#convertir
    														#remplacer
    				}
    	' > $FIC_LDAP_FULL
    Extrait de ce que j'ai au départ
    [...]
    niveauResponsabilite=0
    cn=MARTIN Toto
    shadowWarning=0
    sambaNTPassword=56CB650529473044871E6C49A6776070
    profilApplicatif=EDP;USER
    title:=Q29udHL0bGV1cg==
    [...]
    Extrait de ce que je souhaite à l'arrivé pour les lignes concernées
    [...]
    niveauResponsabilite=0
    cn=MARTIN Toto
    shadowWarning=0
    sambaNTPassword=56CB650529473044871E6C49A6776070
    profilApplicatif=EDP;USER
    title:=Contrôleur
    [...]
    J'ai déjà l'avantage d'avoir comme intitulé de ligne title:= pour mes valeurs en base64. Les lignes sans souci commence par title=. Ca aide déjà beaucoup à trouver les lignes à corriger.
    Merci de votre aide.

  2. #2
    Nouveau membre du Club Avatar de I folima Elda
    Homme Profil pro
    Programmeur & Intégrateur
    Inscrit en
    Décembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Programmeur & Intégrateur

    Informations forums :
    Inscription : Décembre 2007
    Messages : 34
    Points : 34
    Points
    34
    Par défaut
    Faute d'une piste intéressante et propre, j'ai programmé ça en mode un peu sale à cause de l'arrivé de la dead-line
    Je clos le sujet faute de réponse constructive

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Script KSH]Afficher une variable dans awk
    Par Rizzen dans le forum Linux
    Réponses: 3
    Dernier message: 11/05/2009, 13h51
  2. implémentation dans un .h ?
    Par slate dans le forum C++
    Réponses: 4
    Dernier message: 27/01/2006, 12h38
  3. Cut dans Awk
    Par lili_bzh dans le forum Linux
    Réponses: 3
    Dernier message: 24/01/2006, 10h12
  4. Commange Grep dans Awk
    Par lili_bzh dans le forum Linux
    Réponses: 1
    Dernier message: 10/01/2006, 11h49
  5. Erreur de conversion et requête dynamique dans une procédure
    Par franculo_caoulene dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 01/08/2005, 15h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo