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 ?
A voir également:
- Batch : Converser les lignes commençant par ...
- Fichier batch - Guide
- Batch converter - Télécharger - Photo & Graphisme
- Batch renommer une partie du nom de plusieurs fichiers ✓ - Forum Autoit / batch
- Renommer tous les fichiers d'un dossier - Forum Windows
- Color batch - Forum Autoit / batch
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 :
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) :
Avec un peu de chance, powershell n'aura pas ce type de limitations.
Dal
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
[Dal]
Messages postés
6205
Date d'inscription
Statut
Contributeur
Dernière intervention
1 105
Il te faudra juste ensuite éditer "extraction.txt" pour retirer l'intitulé de la colonne "Line" que powershell ajoute à la sortie, mais c'est juste 2 lignes à retirer :-)
Nash008
C'est exactement cela, ça marche!
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 :
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
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