GNU/Linux >> Tutoriels Linux >  >> Linux

Comment sélectionner la première occurrence entre deux modèles les incluant ?

Comment puis-je sélectionner la première occurrence entre deux modèles les incluant. Utiliser de préférence sed ou awk .

J'ai :

text
something P1 something
content1
content2
something P2 something
text
something P1 something
content3
content4
something P2 something
text

Je veux la première occurrence des lignes entre P1 et P2 (y compris la ligne P1 et la ligne P2) :

something P1 something
content1
content2
something P2 something

Réponse acceptée :

sed '/P1/,/P2/!d;/P2/q'

… ferait le travail de manière portable par d suppression de toutes les lignes qui font ! n'entre pas dans la plage, alors q uitting la première fois qu'il rencontre la fin de la plage. Il n'échoue pas pour P2 précédant P1, et il ne nécessite pas de syntaxe spécifique GNU pour écrire simplement.


Linux
  1. Comment transférer des fichiers entre deux ordinateurs à l'aide des commandes nc et pv

  2. Comment puis-je obtenir la différence entre deux dates sous bash

  3. Comment puis-je obtenir des mots entre les deux premières instances de texte/motif ?

  4. Comment différencier uniquement la première ligne de deux fichiers?

  5. Comment bloquer tout le trafic entre deux interfaces ?

Comment trouver la différence entre deux répertoires à l'aide des outils Diff et Meld

Comment synchroniser automatiquement des fichiers entre deux serveurs Linux

Comment connecter et partager des données entre deux systèmes Linux

Extraire la valeur entre deux modèles de recherche sur la même ligne ?

Linux – Comment supprimer des fichiers créés entre deux fois ?

comment puis-je différencier deux sections du même fichier ?