Question éclater un fichier .txt en fonction de critère

Plus d'informations
il y a 5 ans 2 mois #28036 par Jules Piges
Bonjour a tous,

Je vous explique, j'ai un fichier de LOG txt alimenter par mes traitements powershell et j'aimerai l'éclater par journée, le problème que je rencontre c'est que ma journée commence le jour J à 16h et ce termine a J+1 à 7h du matin,

- petit extraire du mon fichier log :

01/01/2019 00:00:01 XSYSINFO03.ps1 Démarrage du traitement de purge du dossier Echange (P)
01/01/2019 00:00:01 XSYSINFO03.ps1 Definition des variables v1.5
01/01/2019 00:00:01 XGRAPURGE01.ps1 Démarrage du traitement GRA Purge BDOC, Cypress
01/01/2019 00:00:01 XGRAPURGE01.ps1 Definition des variables v1.5
01/01/2019 00:00:01 XGRAPURGE01.ps1 définition de l environnement de travail
01/01/2019 00:00:01 XGRAPURGE01.ps1 définition des fichiers de travail


le format date utilisé dans le txt est le suivant :

$CST = (get-date -Format G)


Si quelqu'un avais une idée car je bloque sévère.
Merci

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

Plus d'informations
il y a 5 ans 2 mois #28041 par Philippe
salut JulesP

vu le format de ton fichier le plus simple c'est ceci :
[code:1]$log = Get-Content \"C:\temp\test.txt\"
$log | where {$_ -like \"01/01/2019*\"}
[/code:1]

si tu avais un fichier au format CSV il y avais d'autre solution plus souple<br><br>Message édité par: 6ratgus, à: 22/01/19 13:24

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

Plus d'informations
il y a 5 ans 2 mois #28042 par Jules Piges
Merci bcp mais ça va pas beaucoup m'aider car mon fichier s’incrémente tout les jours dans il faut que la date soit dans une variable et je ne sais toujours pas comment faire pour que ça commence le jour d'avant à 16h....

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

Plus d'informations
il y a 5 ans 2 mois #28046 par Philippe
comme je te disait si tu veux du souple il faut convertir ton fichier :

[code:1]$CST = (get-date -Format G)
# $cst = \&quot;31/12/2018\&quot;
$CSTjour = get-date -Format \&quot;dd/MM/yyyy\&quot; -Date $CST
$CSTdebut = get-date -Date \&quot;$CST 16:00:00\&quot;
$CSTfin = $CSTdebut.AddHours(15)

$log = Get-Content \&quot;C:\temp\test.txt\&quot;

$objetlog = $log | ConvertFrom-Csv -Header info | select @{Label='date';Expression={[datetime](get-date -Format \&quot;MM/dd/yyyy HH:mm:«»ss\&quot; -Date $($_.info.Substring(0, 19)))}}, info
$objetlog | where {$_.date -ge $CSTdebut -and $_.date -lt $CSTfin}
[/code:1]

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

Plus d'informations
il y a 5 ans 2 mois #28047 par Jules Piges
Merci bcp, tout fonctionne.

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

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