Il arrive de vouloir sélectionner uniquement des lignes de texte situées entre deux marqueurs.
Exemple
Par exemple dans L'herbe rouge de Boris Vian, je veux conserver les lignes entre Carla et Wolf. Plus précisément, je veux tout ce qu'il y a entre une première ligne qui contient Carla et une prochaine ligne qui contient Wolf.
Pour ça je vais utiliser la commande sed parce que, on ne le répètera jamais assez, sed c'est bien.
Explication
L'option -n permet de n'afficher a priori aucune ligne. /Carla/ est le premier séparateur. La virgule maintient une plage mémoire jusqu'à la rencontre du second séparateur /Wolf/. Le p provoque l'affichage de la plage mémoire.
sed -n '/---- %< ----/,/---- %< ----/p' DecoupezMoi.txt
Application
J'ai un grand nombre de fichiers html, je veux sélectionner seulement les headers.
Variante
Cette variante, compacte et mnémotechnique, utilise awk.
Aucun commentaire:
Enregistrer un commentaire