Question
Parser un fichier texte
- Lopes
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 22
- Remerciements reçus 0
il y a 15 ans 1 semaine #9635
par Lopes
Parser un fichier texte a été créé par Lopes
Bonjour,
J'ai fais une recherche un peu partout sur le net, mais je n'ai pas vraiment trouvé de solution.
J'espere que vous allez pouvoir m'aider
J'ai un fichier texte \"toto.txt\" qui ressemble à ca, et qui aura toujours cette forme:
CN=Jean Martin,OU=Users & Clients,OU=FR
CN=Jean Luc,OU=Users & Clients,OU=FR
CN=Denis dupont,OU=Users & Clients,OU=FR
CN=Michel Blanc,OU=Users & Clients,OU=FR
Je souhaiterai juste recuperer la partie \"Jean Martin\" (ce qu'il y a apres le \"=\" et avant le \",\" de chaque ligne et le mettre dans un fichier html.
Est ce possible? Pouvez vous m'aider?
Merci par avance !
J'ai fais une recherche un peu partout sur le net, mais je n'ai pas vraiment trouvé de solution.
J'espere que vous allez pouvoir m'aider
J'ai un fichier texte \"toto.txt\" qui ressemble à ca, et qui aura toujours cette forme:
CN=Jean Martin,OU=Users & Clients,OU=FR
CN=Jean Luc,OU=Users & Clients,OU=FR
CN=Denis dupont,OU=Users & Clients,OU=FR
CN=Michel Blanc,OU=Users & Clients,OU=FR
Je souhaiterai juste recuperer la partie \"Jean Martin\" (ce qu'il y a apres le \"=\" et avant le \",\" de chaque ligne et le mettre dans un fichier html.
Est ce possible? Pouvez vous m'aider?
Merci par avance !
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 69
il y a 15 ans 1 semaine #9638
par xyz
Tutoriels PowerShell
Réponse de xyz sur le sujet Re:Parser un fichier texte
Salut,
il faut utliser une expression régulière :
[code:1]
$s=\"CN=Jean Martin,OU=Users & Clients,OU=FR\"
$s -match \"^CN=(?<CN>.[^,]*),OU=\"
#True
$matches
#
# Name Value
# ----
# CN Jean Martin
# 0 CN=Jean Martin,OU=
$matches.CN
#Jean Martin
[/code:1]
il faut utliser une expression régulière :
[code:1]
$s=\"CN=Jean Martin,OU=Users & Clients,OU=FR\"
$s -match \"^CN=(?<CN>.[^,]*),OU=\"
#True
$matches
#
# Name Value
# ----
# CN Jean Martin
# 0 CN=Jean Martin,OU=
$matches.CN
#Jean Martin
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Richard Lazaro
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 530
- Remerciements reçus 0
il y a 15 ans 1 semaine #9646
par Richard Lazaro
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Réponse de Richard Lazaro sur le sujet Re:Parser un fichier texte
Sinon, une technique un poil plus simple (mais pas forcément plus propre) :
[code:1]
$s=\"CN=Jean Martin,OU=Users & Clients,OU=FR\"
$s.Split(',')[0].SubString(3)
[/code:1]
Bien Cordialement,
Richard Lazaro.
[code:1]
$s=\"CN=Jean Martin,OU=Users & Clients,OU=FR\"
$s.Split(',')[0].SubString(3)
[/code:1]
Bien Cordialement,
Richard Lazaro.
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 69
il y a 15 ans 6 jours #9648
par xyz
Tutoriels PowerShell
Réponse de xyz sur le sujet Re:Parser un fichier texte
Richard Lazaro écrit:

Je me suis dit que l'évolution du code s'en trouverait facilité si demain on souhaitait récupèrer les autres informations.
Ton code répond aussi à cette possible évolution
J'ai le réflexe regex, je travaille mes gammesSinon, une technique un poil plus simple
Je me suis dit que l'évolution du code s'en trouverait facilité si demain on souhaitait récupèrer les autres informations.
Ton code répond aussi à cette possible évolution
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Lopes
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 22
- Remerciements reçus 0
il y a 15 ans 6 jours #9649
par Lopes
Réponse de Lopes sur le sujet Re:Parser un fichier texte
Merci c'est exactement ce que je recherchais !
Par contre pas évident de recuperer une seulle ligne dans une variable car j'utilise ce code là :
[code:1]
$groupe_1 = ([ADSI]\"LDAP://CN=$groupe_ad_c,OU=Users & Clients,OU=FR\"«»)
$groupe_1.member | set-content U:\extraction\$nomfc.txt
[/code:1]
Pour ecrire dans un fichier.
Avec votre aide j'ai donc essayer ca:
[code:1]
$fichier2 = @()
$fichier2 += Get-Content U:\extraction\$nomfc.txt
foreach($ligne2 in $fichier2)
{
$ligne2.Split(',')[0].SubString(3) | Out-File U:\testhtml\$nomfc.txt -Append
}
[/code:1]
Mais le problème est que tout mes fichiers textes ont éxactement les mêmes données, mais ont bien des noms différent.
Surement un pb dans ma boucle
Par contre pas évident de recuperer une seulle ligne dans une variable car j'utilise ce code là :
[code:1]
$groupe_1 = ([ADSI]\"LDAP://CN=$groupe_ad_c,OU=Users & Clients,OU=FR\"«»)
$groupe_1.member | set-content U:\extraction\$nomfc.txt
[/code:1]
Pour ecrire dans un fichier.
Avec votre aide j'ai donc essayer ca:
[code:1]
$fichier2 = @()
$fichier2 += Get-Content U:\extraction\$nomfc.txt
foreach($ligne2 in $fichier2)
{
$ligne2.Split(',')[0].SubString(3) | Out-File U:\testhtml\$nomfc.txt -Append
}
[/code:1]
Mais le problème est que tout mes fichiers textes ont éxactement les mêmes données, mais ont bien des noms différent.
Surement un pb dans ma boucle
Connexion ou Créer un compte pour participer à la conversation.
- Lopes
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 22
- Remerciements reçus 0
il y a 15 ans 6 jours #9650
par Lopes
Réponse de Lopes sur le sujet Re:Parser un fichier texte
C'est bon j'ai trouvé merci !
C'est a cause de la concaténation
[code:1]
$fichier2 += Get-Content U:\extraction\$nomfc.txt
[/code:1]
j'ai supprimé le \"+\" et c'est bon.
Maintenant plus qu'a mettre au format html...
C'est a cause de la concaténation
[code:1]
$fichier2 += Get-Content U:\extraction\$nomfc.txt
[/code:1]
j'ai supprimé le \"+\" et c'est bon.
Maintenant plus qu'a mettre au format html...
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.044 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Parser un fichier texte