Question
Chercher un bloc dans un fichier
- Troxsa
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 30
- Remerciements reçus 0
il y a 4 ans 3 mois #29533
par Troxsa
Réponse de Troxsa sur le sujet Re:Chercher un bloc dans un fichier
Comme ceci
[code:1]$fichier = Get-Content \".\fichier.txt\" -Encoding Default
$result = $fichier | Select-String -Pattern \"--+.\",\"^The command completed successfully.$\"
$i = 0
Foreach($item in $result)
{
if($item.Line -match \"--+.\"«»)
{
$Header = $item.LineNumber - 3 # Header
continue
}
$i++
$fichier[($Header)..($item.LineNumber-2)] | Out-File \".\tableau_$($i).txt\"
}[/code:1]
Voir ci joint
<br><br>Message édité par: Troxsa, à: 17/12/19 13:13
[code:1]$fichier = Get-Content \".\fichier.txt\" -Encoding Default
$result = $fichier | Select-String -Pattern \"--+.\",\"^The command completed successfully.$\"
$i = 0
Foreach($item in $result)
{
if($item.Line -match \"--+.\"«»)
{
$Header = $item.LineNumber - 3 # Header
continue
}
$i++
$fichier[($Header)..($item.LineNumber-2)] | Out-File \".\tableau_$($i).txt\"
}[/code:1]
Voir ci joint
La pièce jointe tableau_1.txt est absente ou indisponible
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Christophe
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 13
- Remerciements reçus 0
il y a 4 ans 3 mois #29534
par Christophe
Réponse de Christophe sur le sujet Re:Chercher un bloc dans un fichier
Merci, je n'ai même pas eu le temps de répondre
Est-il possible que le résultat se retrouve dans un seul fichier ?
J'avais essayé comme ça mais ça rendait le résulat illisible :
[code:1]
$fichier = Get-Content \"c:\temp\johndoe-IDT01049-Login.txt\" -Encoding Default
$result = $fichier | Select-String -Pattern \"--+.\",\"^The command completed successfully.$\"
$result
$final
Foreach($item in $result)
{
if($item.Line -match \"--+.\"«»)
{
$Header = $item.LineNumber - 3 # Header
continue
}
$fichier[($Header)..($item.LineNumber-2)]
$final = $final + $fichier[($Header)..($item.LineNumber-2)]
}
Set-Content \"c:\temp\essai3.txt\" -Value $final[/code:1]
Ca doit être une bêtise ...
Merci à nouveau pour l'aide apportée.
Christophe
Est-il possible que le résultat se retrouve dans un seul fichier ?
J'avais essayé comme ça mais ça rendait le résulat illisible :
[code:1]
$fichier = Get-Content \"c:\temp\johndoe-IDT01049-Login.txt\" -Encoding Default
$result = $fichier | Select-String -Pattern \"--+.\",\"^The command completed successfully.$\"
$result
$final
Foreach($item in $result)
{
if($item.Line -match \"--+.\"«»)
{
$Header = $item.LineNumber - 3 # Header
continue
}
$fichier[($Header)..($item.LineNumber-2)]
$final = $final + $fichier[($Header)..($item.LineNumber-2)]
}
Set-Content \"c:\temp\essai3.txt\" -Value $final[/code:1]
Ca doit être une bêtise ...
Merci à nouveau pour l'aide apportée.
Christophe
Connexion ou Créer un compte pour participer à la conversation.
- Troxsa
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 30
- Remerciements reçus 0
il y a 4 ans 3 mois #29535
par Troxsa
Réponse de Troxsa sur le sujet Re:Chercher un bloc dans un fichier
quand on sait c'est facile mais quand on ne sait pas c'est galère
[code:1]$fichier = Get-Content \".\fichier.txt\" -Encoding Default
$result = $fichier | Select-String -Pattern \"--+.\",\"^The command completed successfully.$\"
Foreach($item in $result)
{
if($item.Line -match \"--+.\"«»)
{
$Header = $item.LineNumber - 3 # Header
continue
}
$i++
$fichier[($Header)..($item.LineNumber-2)] | Out-File \".\tableau.txt\" -Append
}[/code:1]
[code:1]$fichier = Get-Content \".\fichier.txt\" -Encoding Default
$result = $fichier | Select-String -Pattern \"--+.\",\"^The command completed successfully.$\"
Foreach($item in $result)
{
if($item.Line -match \"--+.\"«»)
{
$Header = $item.LineNumber - 3 # Header
continue
}
$i++
$fichier[($Header)..($item.LineNumber-2)] | Out-File \".\tableau.txt\" -Append
}[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Christophe
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 13
- Remerciements reçus 0
il y a 4 ans 3 mois #29538
par Christophe
Réponse de Christophe sur le sujet Re:Chercher un bloc dans un fichier
C'est vrai que je me rends compte que je n'y connais pas grand chose.
Ca parait parfois si simple.
Merci pour l'aide apportée en tout cas, ça me sauve.
Je dois maintenant mettre tout ça dans un boucle pour travailler les 1100 fichiers, encore du plaisir en perspective !
Christophe
Ca parait parfois si simple.
Merci pour l'aide apportée en tout cas, ça me sauve.
Je dois maintenant mettre tout ça dans un boucle pour travailler les 1100 fichiers, encore du plaisir en perspective !
Christophe
Connexion ou Créer un compte pour participer à la conversation.
- Troxsa
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 30
- Remerciements reçus 0
il y a 4 ans 3 mois #29541
par Troxsa
Réponse de Troxsa sur le sujet Re:Chercher un bloc dans un fichier
testez cela
[code:1]$Files = Get-ChildItem -Path \".\Chemin\ou\se\trouve\les\fichiers\*.log\" -Recurse
Foreach($file in $Files){
$fichier = Get-Content $file.FullName -Encoding Default
$result = $fichier | Select-String -Pattern \"--+.\",\"^The command completed successfully.$\"
Foreach($item in $result)
{
if($item.Line -match \"--+.\"«»)
{
$Header = $item.LineNumber - 3 # Header
continue
}
$fichier[($Header)..($item.LineNumber-2)] | Out-File \".\tableau.txt\" -Append
}
}[/code:1]
[code:1]$Files = Get-ChildItem -Path \".\Chemin\ou\se\trouve\les\fichiers\*.log\" -Recurse
Foreach($file in $Files){
$fichier = Get-Content $file.FullName -Encoding Default
$result = $fichier | Select-String -Pattern \"--+.\",\"^The command completed successfully.$\"
Foreach($item in $result)
{
if($item.Line -match \"--+.\"«»)
{
$Header = $item.LineNumber - 3 # Header
continue
}
$fichier[($Header)..($item.LineNumber-2)] | Out-File \".\tableau.txt\" -Append
}
}[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Christophe
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 13
- Remerciements reçus 0
il y a 4 ans 3 mois #29542
par Christophe
Réponse de Christophe sur le sujet Re:Chercher un bloc dans un fichier
Ah oui, j'ai fait un peut autrement mais ça fait le taf :
[code:1]ForEach ($file in Get-ChildItem c:\temp\*.txt)
{
$fichier = Get-Content \"$file\" -Encoding Default
$result = $fichier | Select-String -Pattern \"--+.\",\"^The command completed successfully.$\"
$resultat
Foreach($item in $result)
{
if($item.Line -match \"--+.\"«»)
{
$Header = $item.LineNumber - 3 # Header
continue
}
$i++
$fichier[($Header)..($item.LineNumber-2)] | Out-File \"c:\temp\tableau.txt\" -Append
}
}[/code:1]
[code:1]ForEach ($file in Get-ChildItem c:\temp\*.txt)
{
$fichier = Get-Content \"$file\" -Encoding Default
$result = $fichier | Select-String -Pattern \"--+.\",\"^The command completed successfully.$\"
$resultat
Foreach($item in $result)
{
if($item.Line -match \"--+.\"«»)
{
$Header = $item.LineNumber - 3 # Header
continue
}
$i++
$fichier[($Header)..($item.LineNumber-2)] | Out-File \"c:\temp\tableau.txt\" -Append
}
}[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.093 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Chercher un bloc dans un fichier