Extraire deux lignes d'un fichier à partir d'une seule info
Fermé
Ka-El
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
-
9 août 2016 à 16:24
dubcek Messages postés 18764 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 9 février 2025 - 18 août 2016 à 16:14
dubcek Messages postés 18764 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 9 février 2025 - 18 août 2016 à 16:14
A voir également:
- Extraire deux lignes d'un fichier à partir d'une seule info
- Extraire une video youtube - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir un fichier .bin - Guide
7 réponses
dubcek
Messages postés
18764
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
9 février 2025
5 624
10 août 2016 à 08:57
10 août 2016 à 08:57
hello
essayer
essayer
@echo off
set l=0
set s=112.58.46.45
set c=1
setlocal enabledelayedexpansion
for /f "delims=" %%a In (TOTO.txt) Do (
echo %%a | findstr %s% > NUL
if !errorlevel! EQU 0 (echo %%a& set /a l=!c!+1)
if !c! EQU !l! echo %%a
set /a c+=1
)
dubcek
Messages postés
18764
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
9 février 2025
5 624
10 août 2016 à 10:37
10 août 2016 à 10:37
non
que contient toto.txt ?
que contient toto.txt ?
C:> type toto.txt
Mais le problÞme c'est que je dois extraire aussi la ligne qui se trouve juste en dessous...
ce qui me donnerait le rÚsultat suivant (exemple):
ligne x : blablablablablablablablablablabla112.58.46.45blablablablablablablablablablablabla
ligne x+1 : bablablablablablablablablablablablablablablablablablablablablablablablablablabla
Comment puis-je effectuer cette opÚration en ligne de commande ?
Merci d'avance pour votre aide.
C:>
C:> type dd.bat
@echo off
set l=0
set s=112.58.46.45
set c=1
setlocal enabledelayedexpansion
for /f "delims=" %%a In (TOTO.txt) Do (
echo %%a | findstr %s% > NUL
if !errorlevel! EQU 0 (echo %%a& set /a l=!c!+1)
if !c! EQU !l! echo %%a
set /a c+=1
)
C:> dd
ligne x : blablablablablablablablablablabla112.58.46.45blablablablablablablablablablablabla
ligne x+1 : bablablablablablablablablablablablablablablablablablablablablablablablablablabla
C:>
Ka-El
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
10 août 2016 à 10:42
10 août 2016 à 10:42
Toto.txt contient ce type d'information:
JlKqVzqhNwA 20160809 235902 011 SECS I SES_INIT (71373125) Netprof : PHSE6330 selected [src_addr="112.58.46.45/59522"] [dest_addr="127.0.0.1/6330"]
JlKqVzqhNwA 20160809 235902 013 SECS I SES_INIT (71373125) Server TLS Security Profile : S_C2B_SRVR_6330 selected
JlKqVzqhNwA 20160809 235902 103 NET I CONN_RESP (69947) incoming connection response [resp_add=""]
JlKqVzqhNwA 20160809 235902 106 NET I DISC_IND (69947) disconnection indication [reason="No error (0x0)"] [origin="0"]
JlKqVzqhNwA 20160809 235902 011 SECS I SES_INIT (71373125) Netprof : PHSE6330 selected [src_addr="112.58.46.45/59522"] [dest_addr="127.0.0.1/6330"]
JlKqVzqhNwA 20160809 235902 013 SECS I SES_INIT (71373125) Server TLS Security Profile : S_C2B_SRVR_6330 selected
JlKqVzqhNwA 20160809 235902 103 NET I CONN_RESP (69947) incoming connection response [resp_add=""]
JlKqVzqhNwA 20160809 235902 106 NET I DISC_IND (69947) disconnection indication [reason="No error (0x0)"] [origin="0"]
dubcek
Messages postés
18764
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
9 février 2025
5 624
Modifié par dubcek le 10/08/2016 à 10:56
Modifié par dubcek le 10/08/2016 à 10:56
ya-t-il des < > dans le fichier ? c'est le probleme
essayer en changeant la ligne avec des ""
essayer en changeant la ligne avec des ""
echo "%%a" | findstr %s% > NUL
Ka-El
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
>
dubcek
Messages postés
18764
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
9 février 2025
10 août 2016 à 16:07
10 août 2016 à 16:07
j'ai une fenêtre qui s'ouvre mais qui ne donne aucun résultat...
Est-ce qu'il ne serait pas mieux de renvoyer le résultat dans un fichier ?
Est-ce qu'il ne serait pas mieux de renvoyer le résultat dans un fichier ?
dubcek
Messages postés
18764
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
9 février 2025
5 624
Modifié par dubcek le 10/08/2016 à 16:20
Modifié par dubcek le 10/08/2016 à 16:20
changer dans le script
@echo off
set l=0
set s=112.58.46.45
set c=1
setlocal enabledelayedexpansion
for /f "delims=" %%a In (TOTO.txt) Do (
echo "%%a" | findstr %s% > NUL
if !errorlevel! EQU 0 (echo %%a& set /a l=!c!+1)
if !c! EQU !l! echo %%a
set /a c+=1
)
Ka-El
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
>
dubcek
Messages postés
18764
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
9 février 2025
10 août 2016 à 16:51
10 août 2016 à 16:51
Non malheureusement j'obtiens toujours un écran noir...
C'est curieux, il n'y a même pas de message d'erreur. C'est comme si, il ne trouvait pas l'information.
Même si je lance actuellement le script dans le même dossier que le fichier TOTO.txt, dans le doute j'ai précisé l'arborescence où se trouve le fichier, :
for /f "delims=" %%a In (D:\dossier\TOTO.txt) Do (
Mais j'obtiens toujours le même résultat...
C'est curieux, il n'y a même pas de message d'erreur. C'est comme si, il ne trouvait pas l'information.
Même si je lance actuellement le script dans le même dossier que le fichier TOTO.txt, dans le doute j'ai précisé l'arborescence où se trouve le fichier, :
for /f "delims=" %%a In (D:\dossier\TOTO.txt) Do (
Mais j'obtiens toujours le même résultat...
Ka-El
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
10 août 2016 à 10:57
10 août 2016 à 10:57
Oui en effet, les deux caractères apparaissent.
Ils peuvent se présenter séparé ("<" ou ">") ou même ensemble ("<>")
Ils peuvent se présenter séparé ("<" ou ">") ou même ensemble ("<>")
Utilisateur anonyme
11 août 2016 à 09:56
11 août 2016 à 09:56
Bonjour
je ne connais rien en AutoIt, mais il existe un outil "universel" qui répond à ton besoin: les Regex (ou expressions régulières), j'ai vérifié ça existe aussi en AutoIt.
Une regex permet de chercher et d'extraire d'un texte, 1 ou plusieurs morceaux correspondant à un modèle (pattern).
C'est la syntaxe de ce modèle qui est universelle, la façon dont c'est implémenté dépend du langage.
https://www.autoitscript.fr/autoit3/docs/functions/StringRegExp.htm
Pour le modèle, ou sait qu'il doit y avoir 4 séries de 1 à 3 chiffres. S'il y a 3 chiffres le premiers ne peut être que 0,1 ou 2, et si c'est 2 le deuxième ne peut être que 0,1,2,3,4 ou 5 et si c'est 5 et bien le 3eme ne peut être que 0,1,2,3,4 ou 5. Enfin ces 4 séries sont séparées par un point.
Voici une syntaxe qui correspond au modèle que je viens de décrire
Cependant elle autorise 0.0.0.0 ou 1.1.1.1 qui ne devraient pas être autorisés, on doit pouvoir l'améliorer si tu le souhaites.
Il existe plein de sites permettant de tester des regex.
https://www.google.fr/?gfe_rd=cr&ei=mC-sV4b8J9aBaL_CkVg#q=regex+tester
je ne connais rien en AutoIt, mais il existe un outil "universel" qui répond à ton besoin: les Regex (ou expressions régulières), j'ai vérifié ça existe aussi en AutoIt.
Une regex permet de chercher et d'extraire d'un texte, 1 ou plusieurs morceaux correspondant à un modèle (pattern).
C'est la syntaxe de ce modèle qui est universelle, la façon dont c'est implémenté dépend du langage.
https://www.autoitscript.fr/autoit3/docs/functions/StringRegExp.htm
Pour le modèle, ou sait qu'il doit y avoir 4 séries de 1 à 3 chiffres. S'il y a 3 chiffres le premiers ne peut être que 0,1 ou 2, et si c'est 2 le deuxième ne peut être que 0,1,2,3,4 ou 5 et si c'est 5 et bien le 3eme ne peut être que 0,1,2,3,4 ou 5. Enfin ces 4 séries sont séparées par un point.
Voici une syntaxe qui correspond au modèle que je viens de décrire
((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)
Cependant elle autorise 0.0.0.0 ou 1.1.1.1 qui ne devraient pas être autorisés, on doit pouvoir l'améliorer si tu le souhaites.
Il existe plein de sites permettant de tester des regex.
https://www.google.fr/?gfe_rd=cr&ei=mC-sV4b8J9aBaL_CkVg#q=regex+tester
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
14 août 2016 à 11:38
14 août 2016 à 11:38
Salut,
Dans son cas précis, les regex ne lui seront d'aucun secours dans la mesure où il connait le pattern recherché ;-\
Il a juste besoin d'un outil plus adapté qui l'aiderait à récupérer le pattern recherché et la ligne suivante.
Sous GNU/Linux il existe la commande
Pour ceux qui ont la chance (ou la malchance c'est au choix ;-) ) d'avoir la dernière mouture de Windows 10, Micro$oft a eu la très bonne idée d'y intégrer le shell bash de GNU/Linux, donc de ce fait la fameuse commande grep…
Dans son cas précis, les regex ne lui seront d'aucun secours dans la mesure où il connait le pattern recherché ;-\
Il a juste besoin d'un outil plus adapté qui l'aiderait à récupérer le pattern recherché et la ligne suivante.
Sous GNU/Linux il existe la commande
grepqui fait ça très bien :
grep -A1 'pattern' /chemin/fichier
Pour ceux qui ont la chance (ou la malchance c'est au choix ;-) ) d'avoir la dernière mouture de Windows 10, Micro$oft a eu la très bonne idée d'y intégrer le shell bash de GNU/Linux, donc de ce fait la fameuse commande grep…
Utilisateur anonyme
>
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
16 août 2016 à 12:15
16 août 2016 à 12:15
Bonjour, c'est une option.
Par contre je ne comprends pas cet argument
Si tu ne connais pas le pattern, tu ne peux pas faire de regex.
Dans ce cas, il est relativement simple oui, il y a d'autres solutions aussi, mais le fait de savoir que ça existe pourrait servir une autre fois.
Par contre je ne comprends pas cet argument
précis, les regex ne lui seront d'aucun secours dans la mesure où il connait le pattern recherché ;-\
Si tu ne connais pas le pattern, tu ne peux pas faire de regex.
Dans ce cas, il est relativement simple oui, il y a d'autres solutions aussi, mais le fait de savoir que ça existe pourrait servir une autre fois.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
>
Utilisateur anonyme
16 août 2016 à 12:21
16 août 2016 à 12:21
Re- (sans option)
Je le cite :
D'où ma réflexion, qui commençait bien par "Dans son cas précis".
De plus, son besoin c'est surtout de récupérer aussi la ligne suivante, d'où ma proposition d'un outil plus adapté (
Par contre je ne comprends pas cet argument
Je le cite :
je dois extraire toutes les lignes qui comportent l'adresse IP suivante "112.58.46.45"
D'où ma réflexion, qui commençait bien par "Dans son cas précis".
De plus, son besoin c'est surtout de récupérer aussi la ligne suivante, d'où ma proposition d'un outil plus adapté (
grepen l'occurrence).
Utilisateur anonyme
>
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
Modifié par Whismeril le 16/08/2016 à 21:53
Modifié par Whismeril le 16/08/2016 à 21:53
Ha oui, j'avais mal lu!
Et aussi je me suis mal exprimé, l'option c'est la regex.
Pas le bonjour... Lui est primordial.
En restant dans l'idée regex, il faudrait alors chercher un retour à la ligne , suivi de n'importe quel caractère (sauf fin de ligne) 0 à n foi, puis l'ip et enfin de n'importe sauf fin de ligne 9 à n fois et fin de ligne.
Pas le bonjour... Lui est primordial.
En restant dans l'idée regex, il faudrait alors chercher un retour à la ligne , suivi de n'importe quel caractère (sauf fin de ligne) 0 à n foi, puis l'ip et enfin de n'importe sauf fin de ligne 9 à n fois et fin de ligne.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
little boy62
Messages postés
3593
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
16 décembre 2024
1 771
14 août 2016 à 11:10
14 août 2016 à 11:10
Salut.
@Whismeril : l'idée des regex est excellente, pour ceux ou celles qui savent s'en servir. ^^
On peut s'en passer, avec un simple StringInStr dans une boucle FOR.
En résumé :
On récupère la ligne où contient l'ip et le numéro de ligne
On récupère la ligne suivante (le numéro de ligne précédent + 1).
Si ça t'intéresse, je peux te le faire ;)
@++
@Whismeril : l'idée des regex est excellente, pour ceux ou celles qui savent s'en servir. ^^
On peut s'en passer, avec un simple StringInStr dans une boucle FOR.
En résumé :
On récupère la ligne où contient l'ip et le numéro de ligne
On récupère la ligne suivante (le numéro de ligne précédent + 1).
Si ça t'intéresse, je peux te le faire ;)
@++
little boy62
Messages postés
3593
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
16 décembre 2024
1 771
Modifié par little boy62 le 16/08/2016 à 14:22
Modifié par little boy62 le 16/08/2016 à 14:22
Salut.
Juste une petite remarque :
Pourquoi ne pas détecter la ligne contenant src_addr=" ?
Quand tu auras le numéro de cette ligne, tu pourras donc également obtenir le numéro de la ligne suivante.
En batch, je laisse Mr dubcek faire, il est plus calé que moi. ^^
Mais dans les autres langages, une recherche d'un string dans une ligne, dans une boucle for suffit pour récupérer ces lignes.
@++
Juste une petite remarque :
Toto.txt contient ce type d'information:
JlKqVzqhNwA 20160809 235902 011 SECS I SES_INIT (71373125) Netprof : PHSE6330 selected [src_addr="112.58.46.45/59522"] [dest_addr="127.0.0.1/6330"]
JlKqVzqhNwA 20160809 235902 013 SECS I SES_INIT (71373125) Server TLS Security Profile : S_C2B_SRVR_6330 selected
JlKqVzqhNwA 20160809 235902 103 NET I CONN_RESP (69947) incoming connection response [resp_add=""]
JlKqVzqhNwA 20160809 235902 106 NET I DISC_IND (69947) disconnection indication [reason="No error (0x0)"] [origin="0"]
Pourquoi ne pas détecter la ligne contenant src_addr=" ?
Quand tu auras le numéro de cette ligne, tu pourras donc également obtenir le numéro de la ligne suivante.
En batch, je laisse Mr dubcek faire, il est plus calé que moi. ^^
Mais dans les autres langages, une recherche d'un string dans une ligne, dans une boucle for suffit pour récupérer ces lignes.
@++
little boy62
Messages postés
3593
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
16 décembre 2024
1 771
>
Ka-El
17 août 2016 à 14:53
17 août 2016 à 14:53
Salut.
j'avoue que le batch est plus difficile pour ce type de travaux que les autres langages.
J'ai fait un petit script AutoIT qui m'affiche dans un msgbox les lignes que tu veux.
Tu vois pourquoi je préfère passer en AutoIT pour ce genre de chose ?
Et étant donne que c'est un VB-LIke, en visual basic, ça peut se faire.
++
j'avoue que le batch est plus difficile pour ce type de travaux que les autres langages.
J'ai fait un petit script AutoIT qui m'affiche dans un msgbox les lignes que tu veux.
#include <File.au3>
$fichier = @DesktopDir & "\toto.txt"
For $a = 1 To _FileCountLines($fichier)
If StringInStr(FileReadLine($fichier, $a), 'src_addr=') Then
MsgBox(0, "", FileReadLine($fichier, $a))
MsgBox(0, "", FileReadLine($fichier, $a + 1))
EndIf
Next
Tu vois pourquoi je préfère passer en AutoIT pour ce genre de chose ?
Et étant donne que c'est un VB-LIke, en visual basic, ça peut se faire.
++
Ka-El
>
little boy62
Messages postés
3593
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
16 décembre 2024
17 août 2016 à 16:10
17 août 2016 à 16:10
Malheureusement pour moi, je ne peux pas installer ce programme sur mon système...
Je n'ai pas le choix, il faut que je trouve une solution en batch :-(
Je n'ai pas le choix, il faut que je trouve une solution en batch :-(
little boy62
Messages postés
3593
Date d'inscription
lundi 11 novembre 2013
Statut
Membre
Dernière intervention
16 décembre 2024
1 771
17 août 2016 à 19:15
17 août 2016 à 19:15
Reste aussi la solution proposée par zipe31 et autres confrères ;)
bash ubuntu sous windows 10 et la commande grep.
++
bash ubuntu sous windows 10 et la commande grep.
++
dubcek
Messages postés
18764
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
9 février 2025
5 624
18 août 2016 à 09:27
18 août 2016 à 09:27
exécuter ce script dans une fenêtre cmd, pas par double clique
affichier le contenu de toto.txt
affichier le contenu de toto.txt
@echo off
set l=0
set s=112.58.46.45
set c=1
setlocal enabledelayedexpansion
for /f "delims=" %%a In (TOTO.txt) Do (
echo "%%a" | findstr %s% > NUL
if !errorlevel! EQU 0 (echo %%a& set /a l=!c!+1)
if !c! EQU !l! echo %%a
set /a c+=1
)
Salut Dubcek,
Voici ce que j'ai saisi dans la fenêtre cmd:
D:\dossier\log>set l=0
D:\dossier\log>set s=112.58.46.45
D:\dossier\log>set c=1
D:\dossier\log>setlocal enabledelayedexpansion
D:\Axway\Synchrony\Gateway\run_time\fse>for /f "delims=" %a In (TOTO.txt) Do (
More? echo "%a" | findstr %s% > NUL
More? if !errorlevel! EQU 0 (echo %a& set /a l=!c!+1)
More? if !c! EQU !l! echo %a
More? set /a c+=1
More? )
Et voici une partie du résultat:
(...)
9
D:\Axway\Synchrony\Gateway\run_time\fse>(
echo " JlKqVzqhNwA 20160809 235902 106 NET I DISC_IND (69947
) disconnection indication [reason="No error (0x0)"] [origin="0"]" | f
indstr 112.58.46.45 1>NUL
if !errorlevel! EQU 0 (echo JlKqVzqhNwA 20160809 235902 106 N
ET I DISC_IND (69947) disconnection indication [reason="No error (0x0
)"] [origin="0"] & set /a l=!c!+1 )
if !c! EQU !l! echo JlKqVzqhNwA 20160809 235902 106 NET I D
ISC_IND (69947) disconnection indication [reason="No error (0x0)"] [ori
gin="0"]
set /a c+=1
)
10
D:\Axway\Synchrony\Gateway\run_time\fse>(
echo " JlKqVzuhNwA 20160809 235902 102 NET I CONN_IND (69948
) incoming connection indication [src_add="127.0.0.1/64993",dest_add="127.0.0.
1/64572"]" | findstr 112.58.46.45 1>NUL
if !errorlevel! EQU 0 (echo JlKqVzuhNwA 20160809 235902 102 N
ET I CONN_IND (69948) incoming connection indication [src_add="127.0.0.1/64
993",dest_add="127.0.0.1/64572"] & set /a l=!c!+1 )
if !c! EQU !l! echo JlKqVzuhNwA 20160809 235902 102 NET I C
ONN_IND (69948) incoming connection indication [src_add="127.0.0.1/64993",des
t_add="127.0.0.1/64572"]
set /a c+=1
)
11
D:\Axway\Synchrony\Gateway\run_time\fse>(
echo " JlKqVzuhNwA 20160809 235902 103 NET I CONN_RESP (69948
) incoming connection response [resp_add=""]" | findstr 112.58.46.45 1 >NUL
if !errorlevel! EQU 0 (echo JlKqVzuhNwA 20160809 235902 103 N
ET I CONN_RESP (69948) incoming connection response [resp_add=""] & set /
a l=!c!+1 )
if !c! EQU !l! echo JlKqVzuhNwA 20160809 235902 103 NET I C
ONN_RESP (69948) incoming connection response [resp_add=""]
set /a c+=1
)
12
(...)
Voici ce que j'ai saisi dans la fenêtre cmd:
D:\dossier\log>set l=0
D:\dossier\log>set s=112.58.46.45
D:\dossier\log>set c=1
D:\dossier\log>setlocal enabledelayedexpansion
D:\Axway\Synchrony\Gateway\run_time\fse>for /f "delims=" %a In (TOTO.txt) Do (
More? echo "%a" | findstr %s% > NUL
More? if !errorlevel! EQU 0 (echo %a& set /a l=!c!+1)
More? if !c! EQU !l! echo %a
More? set /a c+=1
More? )
Et voici une partie du résultat:
(...)
9
D:\Axway\Synchrony\Gateway\run_time\fse>(
echo " JlKqVzqhNwA 20160809 235902 106 NET I DISC_IND (69947
) disconnection indication [reason="No error (0x0)"] [origin="0"]" | f
indstr 112.58.46.45 1>NUL
if !errorlevel! EQU 0 (echo JlKqVzqhNwA 20160809 235902 106 N
ET I DISC_IND (69947) disconnection indication [reason="No error (0x0
)"] [origin="0"] & set /a l=!c!+1 )
if !c! EQU !l! echo JlKqVzqhNwA 20160809 235902 106 NET I D
ISC_IND (69947) disconnection indication [reason="No error (0x0)"] [ori
gin="0"]
set /a c+=1
)
10
D:\Axway\Synchrony\Gateway\run_time\fse>(
echo " JlKqVzuhNwA 20160809 235902 102 NET I CONN_IND (69948
) incoming connection indication [src_add="127.0.0.1/64993",dest_add="127.0.0.
1/64572"]" | findstr 112.58.46.45 1>NUL
if !errorlevel! EQU 0 (echo JlKqVzuhNwA 20160809 235902 102 N
ET I CONN_IND (69948) incoming connection indication [src_add="127.0.0.1/64
993",dest_add="127.0.0.1/64572"] & set /a l=!c!+1 )
if !c! EQU !l! echo JlKqVzuhNwA 20160809 235902 102 NET I C
ONN_IND (69948) incoming connection indication [src_add="127.0.0.1/64993",des
t_add="127.0.0.1/64572"]
set /a c+=1
)
11
D:\Axway\Synchrony\Gateway\run_time\fse>(
echo " JlKqVzuhNwA 20160809 235902 103 NET I CONN_RESP (69948
) incoming connection response [resp_add=""]" | findstr 112.58.46.45 1 >NUL
if !errorlevel! EQU 0 (echo JlKqVzuhNwA 20160809 235902 103 N
ET I CONN_RESP (69948) incoming connection response [resp_add=""] & set /
a l=!c!+1 )
if !c! EQU !l! echo JlKqVzuhNwA 20160809 235902 103 NET I C
ONN_RESP (69948) incoming connection response [resp_add=""]
set /a c+=1
)
12
(...)
dubcek
Messages postés
18764
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
9 février 2025
5 624
18 août 2016 à 12:03
18 août 2016 à 12:03
il faut exécuter le script, pas chaque ligne, c'est illisible
dubcek
Messages postés
18764
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
9 février 2025
5 624
18 août 2016 à 16:14
18 août 2016 à 16:14
avec des données théoriques, ca fonctionne
C:> type toto.txt
ligne 1
ligne 2
ligne 3
ligne 4 [src_addr="112.58.46.45/59522"] [dest_addr="127.0.0.1/6330"]
ligne 5
ligne 6
C:> type dd.bat
@echo off
set l=0
set s=112.58.46.45
set c=1
setlocal enabledelayedexpansion
for /f "delims=" %%a In (TOTO.txt) Do (
echo "%%a" | findstr %s% > NUL
if !errorlevel! EQU 0 (echo %%a& set /a l=!c!+1)
if !c! EQU !l! echo %%a
set /a c+=1
)
C:> dd
ligne 4 [src_addr="112.58.46.45/59522"] [dest_addr="127.0.0.1/6330"]
ligne 5
10 août 2016 à 10:25
Pour l'instant le script répond par cette suite de lignes:
> was unexpected at this time.
> was unexpected at this time.
> was unexpected at this time.
etc...
Sais-tu pourquoi ?
Merci.