Script batch: Analyser un fichier log
Résolu
poparnassus
Messages postés
462
Statut
Membre
-
poparnassus Messages postés 462 Statut Membre -
poparnassus Messages postés 462 Statut Membre -
Bonjour,
Salut MessieuDame :-)
Voila j'ai besoin d'analyse un ensemble de fichier Log qui contient ~1 000 000 de ligne ( voir beaucoup plus, étant donnée que j'arrive pas a déterminer le nombre ^^). J'ai voulue tester un script batch mais il bloque au deuxieme fichier de 364 000 ligne, juste pour le comtpage de ligne lol
Donc que me conseillerez-vous ? un code en C ? plus performant ?
Je recherche des addresses IP differentes du reseau local, donc je veux lister toute les adresse qui ne sont pas en 192.168.xxx.xxx
Ci dessous le code utiliser pour compter les lignes.
Merci de ne pas m'insulter, je sais que le batch est loin d'etre performant lool
Amicalement bonne soirée
Salut MessieuDame :-)
Voila j'ai besoin d'analyse un ensemble de fichier Log qui contient ~1 000 000 de ligne ( voir beaucoup plus, étant donnée que j'arrive pas a déterminer le nombre ^^). J'ai voulue tester un script batch mais il bloque au deuxieme fichier de 364 000 ligne, juste pour le comtpage de ligne lol
Donc que me conseillerez-vous ? un code en C ? plus performant ?
Je recherche des addresses IP differentes du reseau local, donc je veux lister toute les adresse qui ne sont pas en 192.168.xxx.xxx
Ci dessous le code utiliser pour compter les lignes.
Merci de ne pas m'insulter, je sais que le batch est loin d'etre performant lool
Amicalement bonne soirée
@echo off
SETLOCAL enableextensions ENABLEDELAYEDEXPANSION
@for %%n in (%0) do set fold=%%~dpn
::chemin
set archive=%fold%Archive_LOG\local
echo %archive%
pause
::Compteur de ligne des fichier journal
cd %archive%
set /a total=0
for %%A in (*.txt) do (
set /a compt=0
for /f "tokens=*" %%I in ('type "%%A"') do (set /a compt+=1)
echo %%~dpnxA : !compt!
set /a total=!total!+!compt!
)
echo. & echo Total ligne : !total!
A voir également:
- Log batch
- Fichier batch - Guide
- Batch converter - Télécharger - Photo & Graphisme
- Batch renommer une partie du nom de plusieurs fichiers ✓ - Forum Autoit / batch
- Echo off batch ✓ - Forum Autoit / batch
- Modification de plusieurs fichiers avec .bat ✓ - Forum Autoit / batch
2 réponses
Bonjour,
Le premier FOR est inutile et contient une erreur, tu peux faire comme ça :
Le premier FOR est inutile et contient une erreur, tu peux faire comme ça :
@echo off
setlocal enableextensions enabledelayedexpansion
set archive=%~dp0Archive_LOG\local
echo %archive%
echo.
::Compteur de ligne des fichier journal
cd %archive%
set /a total=0
for %%A in (*.txt) do (
set /a compt=0
for /f "tokens=*" %%I in ('type "%%A"') do (set /a compt+=1)
echo %%~nxA : !compt!
set /a total=!total!+!compt!
)
echo. & echo Total lignes : !total!
echo. & pause
exit
barnabe0057
Messages postés
17074
Statut
Contributeur
4 925
Si les fichiers à analyser sont trop gros, tu peux peut-être ajouter une étape pour découper en fichiers plus petits.