Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
809 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [SHELL] Insertion chaine de caractères

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SHELL] Insertion chaine de caractères

n°1099143
sneakz
Posté le 22-12-2008 à 11:05:20  profilanswer
 

Bonjour,
 
J'ai une fichier ldif avec les données suivantes:  
 
userPassword: b2a219a7ee0debaf86e9b94eb6b7edf9
userPassword: 7653f8b5c34adea07b004bdd91ebbc18
userPassword: 2bd74fd29306a0926c15d54f5ad57e99
...
 
Je voudrais pouvoir ajouter la chaine {MD5} de telle façon que la sortie de mon fichier soit :
 
userPassword: {MD5}b2a219a7ee0debaf86e9b94eb6b7edf9
userPassword: {MD5}7653f8b5c34adea07b004bdd91ebbc18
userPassword: {MD5}2bd74fd29306a0926c15d54f5ad57e99
 
J'essaye en vain avec la commande sed et a\{MD5}
 
Quelqu'un pourrait-il m'aider à réaliser cette insertion en environnement shell ?
 
Merci bien


Message édité par sneakz le 22-12-2008 à 11:05:57
mood
Publicité
Posté le 22-12-2008 à 11:05:20  profilanswer
 

n°1099144
wedgeant
Da penguin inside
Posté le 22-12-2008 à 11:09:36  profilanswer
 

Code :
  1. awk -F" " '{$1 {MD5}$2}' fichier.txt


 
devrait faire l'affaire :jap:


---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
n°1099158
sneakz
Posté le 22-12-2008 à 11:37:30  profilanswer
 

Merci beaucoup  WedgeAnt mais j'ai oublié de préciser une chose importante.
 
S'agissant d'un fichier au format ldap, il manque des lignes dans mon exemple.
 
L'exemple doit être en fait :
 
dn: cn=Durant
givenname: Toto
sn: DURANT
objectclass: top
objectclass: person
userPassword: b2a219a7ee0debaf86e9b94eb6b7edf9
 
dn: cn=Dupont
givenname: Titi
sn: DUPONT
objectclass: top
objectclass: person
userPassword: a0ab725ec596944a67c5861e2fbd438d
 
etc.
 
Je n'ai pas mis tous les attributs pour ne pas surcharger l'exemple.


Message édité par sneakz le 22-12-2008 à 11:38:42
n°1099165
wedgeant
Da penguin inside
Posté le 22-12-2008 à 11:51:07  profilanswer
 

ah ok [:petrus75]
 
ben faut jouer avec la possibilité qu'offre awk de ne traiter que les lignes souhaitées:

Code :
  1. awk -F" " '/userPassword/ {print $1 {MD5}$2}; {print};'


 
à corriger/améliorer etc ...
man awk pour plus d'infos :jap:


---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
n°1099236
sneakz
Posté le 22-12-2008 à 15:38:22  profilanswer
 

awk -F" " '/userPassword/ { print $1,"{MD5}"$2 }; {print};' test.ldif
 
Me renvoie :
 
...
objectclass: top
objectclass: person
userPassword: {MD5}524403ad19d00fb9848390a7a81dd9ee
userPassword: 524403ad19d00fb9848390a7a81dd9ee
 
substitution de ligne manquante

n°1099241
wedgeant
Da penguin inside
Posté le 22-12-2008 à 15:53:48  profilanswer
 

wedgeant a écrit :

à corriger/améliorer etc ...


:o
 
je t'ai donné quasiment toutes les infos, tu n'as plus qu'à fouiner la page de man de awk pour obtenir le résultat que tu attends :jap:


---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
n°1099256
sneakz
Posté le 22-12-2008 à 16:31:49  profilanswer
 

Je suis arrivé au résultat attendu avec cette ligne de commande :
 
awk '$1~/userPassword/ {$2="{MD5}"$2}; {print}' out.ldif


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [SHELL] Insertion chaine de caractères

 

Sujets relatifs
Shell boucle et conditionaccès shell vmware esx
[debia] Problèmes de caractères "œ", "€" avec php 5 et MS sql serveurRemplacer une chaine de caractère avec sed.
echo off comme sous windows lors d'un shell scriptModification de la sortie standard dans un script
Lancer un script shell dans un programme cscript shell sftp - vérification dépose fichier
Creer des fils, des sous shell pour acceler script 
Plus de sujets relatifs à : [SHELL] Insertion chaine de caractères


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR