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 jusqu'à la rencontre du second séparateur /Wolf/. Tant qu'on est dans cette plage, le p provoque l'affichage de la ligne en cours.
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