Batch/manipulation d'un .txt

Fermé
Dee - 17 nov. 2009 à 00:10
 dee - 30 nov. 2009 à 15:53
Bonjour,

Je dispose d'un fichier .txt se présentant sous la forme suivante:


[pl=uyrrytrrtu]
xy

[pl=rtuytrutrutru]
xy

...

...

[pl=rtuytruytruyrt]
xy

[pl=rtuytruytru]
xy

[pl=truytr]
xy

etc...

je souhaiterais ajouter après chaque ligne qui commence par le xy récurrent, cette ligne-ci:

{0}

il faut que je maintienne le saut de ligne après cette nouvelle ligne (et non pa sdonc remplacer la ligne vide par celle que je veux ajouter).

Le .txt comporte plusieurs centaines de lignes et j'imagine qu'un .bat ne doit pas être trop long ni compliqué à faire mais je n'ai aucune connaissance en la matière donc si une âme charitable pouvait me le faire (si ça ne lui prenait pas trop de temps bien sûr)...

Merci.
A voir également:

3 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
17 nov. 2009 à 07:54
hello
C:> aa
[pl=uyrrytrrtu]
xy
{0}

[pl=rtuytrutrutru]
xy
{0}

[pl=rtuytruytruyrt]
xy
{0}

[pl=rtuytruytru]
xy
{0}

[pl=truytr]
xy
{0}


C:> type aa.bat
@echo off

for /f  "delims=" %%a in ('type fichier.txt') do (
echo %%a
if "%%a" == "xy" (echo {0}
echo.)
)
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
17 nov. 2009 à 09:24
autre méthode, on ne teste que le début de la ligne
@echo off 

setlocal enableDelayedExpansion
for /f  "delims=" %%a in ('type fichier.txt') do (
echo %%a
echo %%a | findstr "^xy"  > NUL
if !errorlevel! EQU 0 (echo {0}
echo.)
)
0
Hello merci bien dubcek :)
0