Batch : Converser les lignes commençant par ...
Maggie
-
Nash008 -
Nash008 -
Bonjour,
J'ai un fichier en entrée d'un programme ".bat" et j'aimerai supprimer, donc conserver que certaines lignes de ce fichier.
Or si j'utilise la fonction FINDSTR, l'exécution me retourne l'erreur
"
FINDSTR : la ligne 1 est trop longue
"
et effectivement mes lignes font en moyenne plus de 3 000 caractéres.
Avez-vous une solution ?
J'ai un fichier en entrée d'un programme ".bat" et j'aimerai supprimer, donc conserver que certaines lignes de ce fichier.
Or si j'utilise la fonction FINDSTR, l'exécution me retourne l'erreur
"
FINDSTR : la ligne 1 est trop longue
"
et effectivement mes lignes font en moyenne plus de 3 000 caractéres.
Avez-vous une solution ?
4 réponses
-
Salut Maggie,
Si tu tiens à utiliser la console windows, et que tu disposes de powershell, tu peux faire cela :
ouvre une console powershell dans le répertoire où se trouve ton fichier :
start powershell
puis, en supposant que tu veuilles garder toutes les lignes commençant par "LIGNE A CONSERVER" contenues dans mon_fichier.txt, et mettre le résultat dans extraction.txt, lance (sur une seule ligne) :
gc "mon_fichier.txt" | select-string "^LIGNE A CONSERVER" | select line > extraction.txt
Avec un peu de chance, powershell n'aura pas ce type de limitations.
Dal -
Salut Maggie,
Comme ta question ne porte pas spécialement sur un langage particulier, ou un outil particulier, personnellement, j'utiliserai l'éditeur vim, venu tu monde Linux (et Unix avec vi) avec lequel tu peux (notamment) utiliser une regexp associée à l'action de suppression.
En supposant que tu veuilles supprimer toutes les lignes ne commençant pas par "LIGNE A CONSERVER", tu fais :
:g!/^LIGNE A CONSERVER/d
https://vim.fandom.com/wiki/Delete_all_lines_containing_a_pattern
https://www.vim.org/download.php#pc
Je te concède qu'il faut domestiquer vim, qui n'est pas un éditeur comme un autre, mais une fois que c'est fait, on ne peut plus s'en passer :-)
Dal
Edit : simplification de la regexp -
-
hello
chez moi, findstr trouve bien des textes sur des lignes de 5000 caractères.
montre un exemple de ligne et de recherche.