En voici une dans awk :
$ awk '/^=+$/{f=!f;if(f==1)next;else if(f==0)exit}f' file
v2.0.0
Added feature 3
Added feature 4
En jolis caractères :
$ awk '/^=+$/ { # at ===...
f=!f # flag state is flipped
if(f==1) # if its one (first ===...)
next # next record
else if(f==0) # if zero (second ===...)
exit # nothing more to do yeah
}
f' file # print
En voici une autre dans GNU sed :
$ sed -n '/^=\+$/,//{//!p;b};q' file
v2.0.0
Added feature 3
Added feature 4
/^=\+$/,//
est un raccourci pour/^=\+$/,/^=\+$/
, il sélectionne les lignes entre deux lignes composées de signes égal inclus, et les commandes entre les accolades suivantes sont exécutées pour ces lignes,//!p
est un raccourci pour/^=\+$/!p
, cela signifie que si la ligne entrante n'est pas l'une de celles qui se composent uniquement de=
s, imprimez-le,b
signifie aller à la fin du cycle (c'est-à-dire passerq
),q
sert à quitter sed après avoir imprimé les lignes sélectionnées.
La version suivante fonctionnera avec tous Seds compatible POSIX mais il semble 2x plus cryptique :
sed -n -e '/^=\{1,\}$/,//{//!p;b' -e '}' -e 'q' file
Notez que cela ne fonctionnera pas s'il y en a deux consécutifs tous =
lignes dans l'entrée.
Pourriez-vous s'il vous plaît essayer de suivre aussi.
awk '/^=/{count++;next} count>=2{exit} {print}' Input_file