Portál AbcLinuxu, 10. května 2025 06:26
radek: tohle je na jednom radku
radky: tohle je na
dvou radcich
vicradku: tohle
je na
trech radcich
tohle je na
dvou radcich
Řešení dotazu:
sed -n '/^vicradku:/{g;s/^\nradky: *//;p;Q;};/^radky:/,$H'Akorát jsem nepochopil, co vlastně chceš, takže to v tomto konkrétním případě sice vypíše, co požaduješ, ale obecně nevím, zda to řeší dotaz...
echo $neco | sed ....
prom1: neco
prom2: zase neco
prom3: neco na
vice radcich
bohuzel nevim
na kolikati
prom4: neco...
echo "$neco" | sed -n '/^radky:/,/^\w\+:/p' | head -n -1Asi by to šlo i čistě v sedu, ale přijde mi to trochu nepřehledné...
perl -e '$a=join("", <STDIN>);print($a) if($a=~s/.*prom3:([^:]+\n)([^:\n]+:.*)?$/\1/s)'
$ echo "prom1: neco
prom2: zase neco
prom3: neco na
vice radcich
bohuzel nevim
na kolikati
prom4: neco..." | perl -e '$a=join("", <STDIN>);print($a) if($a=~s/.*prom3:([^:]+\n)([^:\n]+:.*)?$/\1/s)'
neco na
vice radcich
bohuzel nevim
na kolikati
sed -n '/^radky:/,/^vicradku:/p' | head -n -1
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.