Question Recherche de mots (Résolu)

Plus d'informations
il y a 16 ans 6 mois #1128 par didine
Recherche de mots (Résolu) a été créé par didine
Bonjour d'un authentique débutant

je souhaiterai faire un script qui permette

de localiser dans un texte
contenant 1400 fois

nom
type
....
....
end

toutes les occurences de

nom
...
...
... GR
end

en fait tous les groupes
commençant par \"nom\"
contenant \"Gr\"
et finissant par \"end\"

je n'arrive pas à m'en sortir
Merci<br><br>Message édité par: Arnaud, à: 16/10/07 13:20

NEWTON_

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 6 mois #1130 par Arnaud Petitjean
Réponse de Arnaud Petitjean sur le sujet Re:recherche de mots
Bonjour Newton et bienvenue sur le forum ;)

Alors je te dis tout de suite, je ne suis pas un expert dans les expressions régulières, faut que je les travaille car c'est vraiment super puissant. Et c'est typiquement ce qu'il te faut.

Donc pour ton cas regarde comment fonctionne la commandelette \&quot;Select-String\&quot;.

Juste pour te mettre un peu sur la voie:
[code:1]get-content monfichier.txt | Select-string \&quot;Chaine à rechercher\&quot;[/code:1]

Sachant que \&quot;Chaine à rechercher\&quot; peut être une expression régulière. Regarde dans l'aide de PowerShell : help about_regular_expression

Sinon je sais que Janel est un expert dans le domaine des expressions régulières et qu'il se fera un plaisir de t'aider...

Tiens nous au courant des tes pérégrinations. ;)

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 6 mois #1144 par didine
Réponse de didine sur le sujet Re:recherche de mots
Dur tres dur

pour
select-string -C:\11000028.txt -pattern \&quot;[NOM]GR[END]\&quot;&gt;C:\Test.txt

on me répond
Select-String : Impossible de convertir « System.String » en type « System.Management.Automation.SwitchParameter », req
uis par le paramètre « CaseSensitive ».

JANEL au secours

NEWTON_

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 6 mois #1145 par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:recherche de mots
Je te propose deux techniques, l'une avec select-string et l'autre sans:

[code:1]
# avec select-string:
get-content test.txt -delimiter \&quot;end\&quot; | select-string \&quot;GR$end\&quot;

# sans select-string:
get-content test.txt -delimiter \&quot;end\&quot; | where {$_.split(\&quot;`n\&quot;«»)[-2].trim() -match \&quot;GR$\&quot;}[/code:1]
Dans les deux cas, le plus important est l'utilisation du paramètre -delimiter à la lecture du fichier. Ce paramètre permet de découper le fichier en blocs de chaînes selon un texte particulier, en l'occurrence \&quot;end\&quot; qui marque la fin de chaque bloc dans ton exemple.

J'avais écrit au sujet de ce paramètre sur mon blog:

janel.spaces.live.com/Blog/cns!9B5AA3F6FA0088C2!226.entry

C'était il y a un an quasiment jour pour jour, la v1 de PowerShell n'était pas encore sortie. Souvenirs, souvenirs...

Pour en revenir à ton besoin, les deux lignes de code ci-dessus sont sans doute imparfaites, mais elles te devraient te permettre d'attaquer le sujet dans le bon sens. A toi de voir quel nettoyage il reste à faire sur le résultat produit pour obtenir exactement ce que tu cherches. N'hésite pas à revenir sur ce forum pour continuer la réflexion.

Janel

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.069 secondes
Propulsé par Kunena