Portál AbcLinuxu, 12. července 2025 18:10
Na sedu netrvam, ale rad bych se v nem naucil.A to si fakt myslis, ze polozit dotaz do fora je ten najlepsi sposob ako sa to naucit? Ak ano, tak vela stastia pri studiu; ale najdi si nejake ine forum, prosim.
Čistě v sedu to asi nepůjde, ale tohle by mělo snad fungovat:
i=0; cat <VSTUP >$$.tmp while grep 'cista' >/dev/null <$$.tmp; do sed -n -e '/Received/,/cista/p' -e '/cista/q' <$$.tmp >$i.mail sed '/Received/,/cista/d' <$$.tmp >$$.tmp.2 mv $$.tmp.2 $$.tmp i=$(( $i + 1 )); done rm -f $$.tmp
PS Pokud v sedu potřebujete psát do dalšího souboru, slouží k tomu příkaz w
.
sed '/Received/,/cista/d' <$$.tmp >$$.tmp.2
Vymaze cely soubor $$.tmp.
Kazdopadne diky za nakopnuti.
Jasně, zapomněl jsem tam nakopírovat část pro ukončení sedu po prvním výskytu (z příkazu nad ním): -e '/cista/q'
.
sed -n -e '/Received/,/cista/d' -e '/cista/q' <$$.tmp >$$.tmp.2
taky nefunguje.
Neni mi jasne proc, ale ma to stejny vysledek, jako predchozi prikaz.
Ajajaj, těžko může skončit, když tam ten řádek není . Tohle by mělo fungovat (ale nemůžu to teď vyzkoušet):
sed -ne '/Received/,/cista/{/cista/!d}' -e '/cista/{d;q}'
Ale jak je v příspěvku níže, tohle je doopravdy spíše úloha pro AWK, kde je to na pár řádků (a bude to i IMHO rychlejší).
Received: asdfasdfasdf asdfasdfasdfasdfasdfasdf Received: qwerqwerqwer qwerqwerqwerqwerqwerqwer qwerqwerqwerqewrqwerqwer Received: zxcvzxcvzxcv zxcvzxcvzxcvzxcvzxcvzxcv zxcvzxcvzxcvzxcvzxcvzxcv zxcvzxcvzxcvzxcvzxcvzxcv zxcvzxcvzxcvzxcvzxcvzxcv zxcvzxcvzxcvzxcvzxcvzxcv zxcvzxcvzxcvzxcvzxcvzxcvpak staci napriklad
awk ' /Received:.*/{counter=counter+1;} {print $0 > counter;} '
Received: from ...
Received: from ...
Received: from ...
$MessageID
.
.
--
Tato zprava byla prohledana na vyskyt viru
a nebezpecneho obsahu antivirovym systemem MailScanner a
zda se byt cista.
Potreboval bych tedy poradit, jak rict awku, aby vse od prvni radky zacinajici na /^Received/ do prvniho vyskytu radky koncici na /cista.$/ vytiskl do noveho souboru a pak pokracoval dal.
Zakladni syntaxi pro vzorek od do znam, ale nevim jak dal.
Diky za nakopnuti spravnym smerem.
Diky za nakopnuti spravnym smerem.Kop! P.S. Taky stipes drat sroubovakem?
BEGIN {file="Mbox.0";cnt=1}
{print > file}
/cista$/ {close(file);cnt++;file="Mbox." cnt}
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.