Insertion chaine de caractères [SHELL] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 22-12-2008 à 11:09:36
Code :
|
devrait faire l'affaire
Marsh Posté le 22-12-2008 à 11:37:30
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.
Marsh Posté le 22-12-2008 à 11:51:07
ah ok
ben faut jouer avec la possibilité qu'offre awk de ne traiter que les lignes souhaitées:
Code :
|
à corriger/améliorer etc ...
man awk pour plus d'infos
Marsh Posté le 22-12-2008 à 15:38:22
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
Marsh Posté le 22-12-2008 à 15:53:48
wedgeant a écrit : à corriger/améliorer etc ... |
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
Marsh Posté le 22-12-2008 à 16:31:49
Je suis arrivé au résultat attendu avec cette ligne de commande :
awk '$1~/userPassword/ {$2="{MD5}"$2}; {print}' out.ldif
Marsh Posté le 22-12-2008 à 11:05:20
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