Parser un fichier txt (.csv base LDAP)
Fermé
madavekia
Messages postés
31
Date d'inscription
mardi 10 novembre 2009
Statut
Membre
Dernière intervention
6 janvier 2015
-
5 sept. 2012 à 17:30
madavekia Messages postés 31 Date d'inscription mardi 10 novembre 2009 Statut Membre Dernière intervention 6 janvier 2015 - 28 sept. 2012 à 14:32
madavekia Messages postés 31 Date d'inscription mardi 10 novembre 2009 Statut Membre Dernière intervention 6 janvier 2015 - 28 sept. 2012 à 14:32
A voir également:
- Parser un fichier txt (.csv base LDAP)
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
- Fichier host - Guide
6 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
5 sept. 2012 à 17:35
5 sept. 2012 à 17:35
Salut,
Peut être qu'avec un exemple concret AVANT => APRÈS nous serions plus à même de t'aider ;-\
Peut être qu'avec un exemple concret AVANT => APRÈS nous serions plus à même de t'aider ;-\
madavekia
Messages postés
31
Date d'inscription
mardi 10 novembre 2009
Statut
Membre
Dernière intervention
6 janvier 2015
5 sept. 2012 à 18:06
5 sept. 2012 à 18:06
mon fichier .ldif1: (AVANT)
dn: uid=pperrot,ou=People,dc=xxxxxxx,dc=fr
cn: pperrot
sn: pperrot
givenName: pperrot
uid: pperrot
uidNumber: 1003
gidNumber: 513
homeDirectory: /data/home/pperrot
loginShell: /bin/bash
gecos: System User
structuralObjectClass: inetOrgPerson
entryUUID: 9f25c6f4-cfd3-102c-872b-f54f04082e84
creatorsName: cn=Manager,dc=xxxxxxx,dc=fr
createTimestamp: 20080616093746Z
sambaLogonTime: 0
sambaLogoffTime: 2147483647
sambaKickoffTime: 2147483647
sambaPwdCanChange: 0
sambaPwdMustChange: 2147483647
displayName: System User
sambaAcctFlags: [UX]
sambaSID: S-1-5-21-1647326067-1975614102-959982912-3006
sambaPrimaryGroupSID: S-1-5-21-1647326067-1975614102-959982912-513
sambaLogonScript: pperrot.bat
sambaProfilePath: '\\NETEZG8\profiles\pperrot
sambaHomeDrive: H:
sambaLMPassword: 9CB1B6105ACCADEF0A59CDA5244689BE
sambaNTPassword: B100CA5D92E0D09F88BC37C810CE4532
sambaPwdLastSet: 1213609092
userPassword:: e1NTSEF9MHpXdGErbEhxUE91OFJFRlFEOUwwbHYzOHpOc05VOVg=
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: sambaSamAccount
objectClass: radiusprofile
radiusAuthType: EAP
radiusTunnelPrivateGroupId: 20
radiusTunnelMediumType: IEEE-802
radiusTunnelType: VLAN
entryCSN: 20080625132710Z#000000#00#000000
modifiersName: cn=Manager,dc=xxxxxxx,dc=fr
modifyTimestamp: 20080625132710Z
dn: uid=mbrun,ou=People,dc=xxxxxxx,dc=fr
cn: mbrun
sn: mbrun
givenName: mbrun
uid: mbrun
uidNumber: 1004
gidNumber: 513
homeDirectory: /data/home/mbrun
loginShell: /bin/bash
gecos: System User
structuralObjectClass: inetOrgPerson
entryUUID: ec2761d4-cffa-102c-872c-f54f04082e84
creatorsName: cn=Manager,dc=xxxxxxx,dc=fr
createTimestamp: 20080616141906Z
sambaLogonTime: 0
sambaLogoffTime: 2147483647
sambaKickoffTime: 2147483647
sambaPwdCanChange: 0
sambaPwdMustChange: 2147483647
displayName: System User
sambaAcctFlags: [UX]
sambaSID: S-1-5-21-1647326067-1975614102-959982912-3008
sambaPrimaryGroupSID: S-1-5-21-1647326067-1975614102-959982912-513
sambaLogonScript: mbrun.bat
sambaProfilePath: '\\NETEZG8\profiles\mbrun
sambaHomeDrive: H:
sambaLMPassword: 50D937CF1083828EAAD3B435B51404EE
sambaNTPassword: 3CB8FED01D4E00FF83095D014169698C
sambaPwdLastSet: 1213625950
userPassword:: e1NTSEF9MmxKbS9IcE0xM2c2ODdlK3MvSWpIUDBHRWo5eFVrUnk=
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: sambaSamAccount
objectClass: radiusprofile
radiusAuthType: EAP
radiusTunnelMediumType: IEEE-802
radiusTunnelType: VLAN
radiusTunnelPrivateGroupId: 20
entryCSN: 20110422082857Z#000000#00#000000
modifiersName: cn=Manager,dc=xxxxxxx,dc=fr
modifyTimestamp: 20110422082857Z
... (je n'ai pris que deux utilisateur en exemple)
Le fichier .csv : (APRÈS)
uid:cn:givenName:sn:sambaPwdLastSet:sambaLMPassword:sambaNTPassword:userPassword
pperrot:pperrot:perrot:1213609092:9CB1B6105ACCADEF0A59CDA5244689BE:B100CA5D92E0D09$
mbrun:mbrun:brun:1213625950:50D937CF1083828EAAD3B435B51404EE:3CB8FED01D4E00FF83095D0$
Voila ...
dn: uid=pperrot,ou=People,dc=xxxxxxx,dc=fr
cn: pperrot
sn: pperrot
givenName: pperrot
uid: pperrot
uidNumber: 1003
gidNumber: 513
homeDirectory: /data/home/pperrot
loginShell: /bin/bash
gecos: System User
structuralObjectClass: inetOrgPerson
entryUUID: 9f25c6f4-cfd3-102c-872b-f54f04082e84
creatorsName: cn=Manager,dc=xxxxxxx,dc=fr
createTimestamp: 20080616093746Z
sambaLogonTime: 0
sambaLogoffTime: 2147483647
sambaKickoffTime: 2147483647
sambaPwdCanChange: 0
sambaPwdMustChange: 2147483647
displayName: System User
sambaAcctFlags: [UX]
sambaSID: S-1-5-21-1647326067-1975614102-959982912-3006
sambaPrimaryGroupSID: S-1-5-21-1647326067-1975614102-959982912-513
sambaLogonScript: pperrot.bat
sambaProfilePath: '\\NETEZG8\profiles\pperrot
sambaHomeDrive: H:
sambaLMPassword: 9CB1B6105ACCADEF0A59CDA5244689BE
sambaNTPassword: B100CA5D92E0D09F88BC37C810CE4532
sambaPwdLastSet: 1213609092
userPassword:: e1NTSEF9MHpXdGErbEhxUE91OFJFRlFEOUwwbHYzOHpOc05VOVg=
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: sambaSamAccount
objectClass: radiusprofile
radiusAuthType: EAP
radiusTunnelPrivateGroupId: 20
radiusTunnelMediumType: IEEE-802
radiusTunnelType: VLAN
entryCSN: 20080625132710Z#000000#00#000000
modifiersName: cn=Manager,dc=xxxxxxx,dc=fr
modifyTimestamp: 20080625132710Z
dn: uid=mbrun,ou=People,dc=xxxxxxx,dc=fr
cn: mbrun
sn: mbrun
givenName: mbrun
uid: mbrun
uidNumber: 1004
gidNumber: 513
homeDirectory: /data/home/mbrun
loginShell: /bin/bash
gecos: System User
structuralObjectClass: inetOrgPerson
entryUUID: ec2761d4-cffa-102c-872c-f54f04082e84
creatorsName: cn=Manager,dc=xxxxxxx,dc=fr
createTimestamp: 20080616141906Z
sambaLogonTime: 0
sambaLogoffTime: 2147483647
sambaKickoffTime: 2147483647
sambaPwdCanChange: 0
sambaPwdMustChange: 2147483647
displayName: System User
sambaAcctFlags: [UX]
sambaSID: S-1-5-21-1647326067-1975614102-959982912-3008
sambaPrimaryGroupSID: S-1-5-21-1647326067-1975614102-959982912-513
sambaLogonScript: mbrun.bat
sambaProfilePath: '\\NETEZG8\profiles\mbrun
sambaHomeDrive: H:
sambaLMPassword: 50D937CF1083828EAAD3B435B51404EE
sambaNTPassword: 3CB8FED01D4E00FF83095D014169698C
sambaPwdLastSet: 1213625950
userPassword:: e1NTSEF9MmxKbS9IcE0xM2c2ODdlK3MvSWpIUDBHRWo5eFVrUnk=
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: sambaSamAccount
objectClass: radiusprofile
radiusAuthType: EAP
radiusTunnelMediumType: IEEE-802
radiusTunnelType: VLAN
radiusTunnelPrivateGroupId: 20
entryCSN: 20110422082857Z#000000#00#000000
modifiersName: cn=Manager,dc=xxxxxxx,dc=fr
modifyTimestamp: 20110422082857Z
... (je n'ai pris que deux utilisateur en exemple)
Le fichier .csv : (APRÈS)
uid:cn:givenName:sn:sambaPwdLastSet:sambaLMPassword:sambaNTPassword:userPassword
pperrot:pperrot:perrot:1213609092:9CB1B6105ACCADEF0A59CDA5244689BE:B100CA5D92E0D09$
mbrun:mbrun:brun:1213625950:50D937CF1083828EAAD3B435B51404EE:3CB8FED01D4E00FF83095D0$
Voila ...
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
5 sept. 2012 à 18:46
5 sept. 2012 à 18:46
Le fichier .csv : (APRÈS)
uid:cn:givenName:sn:sambaPwdLastSet:sambaLMPassword:sambaNTPassword:userPassword
C'est les champs censés être récupérés ?
Si oui, alors y'a un souci, parce que les 2 exemples qui suivent ne correspondent pas ?
uid:cn:givenName:sn:sambaPwdLastSet:sambaLMPassword:sambaNTPassword:userPassword
C'est les champs censés être récupérés ?
Si oui, alors y'a un souci, parce que les 2 exemples qui suivent ne correspondent pas ?
Peu importe.... , le format est bon je cherche à récupérer certains attributs de chaque entité et les avoir au format .csv comme dans l'exemple qui ne vise qu'à te donner une idée de format
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
5 sept. 2012 à 19:08
5 sept. 2012 à 19:08
En partant d'un fichier comme celui donné en exemple.
Le script sed :
Je récupère les champs avec "egrep" (y compris les lignes vides entre chaque id différentes, elles me servent de séparateur/délimiteur pour sed) :
A adapter...
;-))
Le script sed :
$ cat script.sed #n /^cn/{ :z N /sambaPwdLastSet:/! bz s/[^:][^ ]* //Mg;s/\n./\n/2;s/\n/:/g;s/\([^:]*:\)\([^:]*:\)\([^:]*:\)\([^:]*:\)\([^:]*\):\(.*\)/\1\2\3\6:\4\5/p }
Je récupère les champs avec "egrep" (y compris les lignes vides entre chaque id différentes, elles me servent de séparateur/délimiteur pour sed) :
$ egrep 'uid:|cn:|givenName:|sambaPwdLastSet:|sambaLMPassword:|sambaNTPassword:|^$' plop | sed -f script.sed pperrot:pperrot:perrot:1213609092:9CB1B6105ACCADEF0A59CDA5244689BE:B100CA5D92E0D09F88BC37C810CE4532 mbrun:mbrun:brun:1213625950:50D937CF1083828EAAD3B435B51404EE:3CB8FED01D4E00FF83095D014169698C $
A adapter...
;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci t'es un chef... Vais essayer tout ça et te tiens au courant, en attendant j'ai déjà fermé les fenêtres et lancer la procédure d'adoption d'un petit manchot
madavekia
Messages postés
31
Date d'inscription
mardi 10 novembre 2009
Statut
Membre
Dernière intervention
6 janvier 2015
28 sept. 2012 à 14:32
28 sept. 2012 à 14:32
C'est bon ça marche !!! encore merci pour ton aide, une dernière chose si cela ne te dérange pas , serait il possible de commenter les lignes ci dessous ou de me les expliquer brièvement stp .....
s/[^:][^ ]* //Mg;s/\n./\n/2;s/\n/:/g;s/\([^:]*:\)\([^:]*:\)\([^:]*:\)\([^:]*:\)\([^:]*\):\(.*\)/\1\2\3\6:\4\5/p
s/[^:][^ ]* //Mg;s/\n./\n/2;s/\n/:/g;s/\([^:]*:\)\([^:]*:\)\([^:]*:\)\([^:]*:\)\([^:]*\):\(.*\)/\1\2\3\6:\4\5/p