Findstr, si trouvé m'afficher la 7ème ligne en dessus
Résolu
PogiAko
Messages postés
11
Statut
Membre
-
PogiAko Messages postés 11 Statut Membre -
PogiAko Messages postés 11 Statut Membre -
Bonjour,
J'aurai besoin d'aide sur le sujet suivant:
J'aimerai faire un findstr sur un fichier, si le mot est trouvé, j'aimerai qu'on m'affiche la 7ème ligne en dessus de ce mot sur un notepad.
merci pour votre aide.
Cordialement
J'aurai besoin d'aide sur le sujet suivant:
J'aimerai faire un findstr sur un fichier, si le mot est trouvé, j'aimerai qu'on m'affiche la 7ème ligne en dessus de ce mot sur un notepad.
merci pour votre aide.
Cordialement
1 réponse
hello
c contient la chaine à chercher
f contient le nom du fichier
c contient la chaine à chercher
f contient le nom du fichier
@echo off
set c=chaine
set f=fichier.txt
setlocal enableDelayedExpansion
for /f "delims=: tokens=1" %%a in ('findstr /n %c% %f%') do (
set l=%%a
)
set /a l-=7
for /f "delims=: tokens=1,2" %%a in ('findstr /n . %f%') do (
set x=%%b
if %%a EQU !l! goto finxxx
)
:finxxx
echo %x%
Merci dubcek pour ta réponse, le script fonctionne à merveille.
Enfin de compte j'aimerai changer ma stratégie:
j'aimerai copier/couper tous les contenus d'une balise dans un fichier commencant par " { " et finissant par " -} " et le copier/couper dans un nouveau fichier .txt
Merci beaucoup.
Cordialement,
{1:AAAA}{AAAA}A:{AAAA}}{A:
:16R:AAAA
:20C::AAAA
:23G:AAAA
:98A::AAAA
:16R:AAAA
:13A::AAAA
:20C::AAAA
:16S:AAAA
:16R:AAAA
:25D::AAAA
:16S:AAAA
:16S:AAAA
:16R:AAAA
:98A::AAAA
:98A::AAAA
:22H::AAAA
:22H::AAAA
:36B::AAAA
:35B:AAAA
:16S:AAAA
-} {BBBBB}{BBBB}{B:{BBBB}}{B:
:16R:BBBB
:20C::BBBB
:23G:BBBB
:98A::BBBB
:16R:BBBB
:13A::BBBB
:20C::BBBB
:16S:BBBB
:16R:BBBB
:25D::BBBB
:16S:BBBB
:16S:BBBB
:16R:BBBB
:98A::BBBB
:98A::BBBB
:22H::BBBB
:22H::BBBB
:36B::BBBB
:35B:BBBB
:16S:BBBB
-}
on peut utiliser des commandes Unix pour DOS comme sed ou awk