Jak vyriznout ze souboru po sobe nasledujici radky
Dalibor Straka
dast na panelnet.cz
Sobota Květen 30 16:52:07 CEST 2009
On Sat, May 30, 2009 at 02:55:03PM +0200, Petr Simek wrote:
>
> Zdravim
>
> mam soubor ktery muze vypadat napr takhle :
>
> echo -ne "\taaa\n\t\tbbb\n\t\tccc\n\t\tddd\n\teee\n"
>
> a ja bych z nej chtel vyhodit radky ccc a ddd ale jen kdyz jsou
> hned po sobe jinak ne . Neprisel jsem na to jak napsat expression
> do grepu , tak jsem to zkusil skriptem pres :
>
> echo -ne "\taaa\n\t\tbbb\n\t\tccc\n\t\tddd\n\teee\n" | while read LINE
>
> radku po radce ale kdyz pak zpracovavam to $LINE tak mi tam zmizi
> ty pocatecni tabulatory. Zkousel jsem manipulovat s IFS ale to mi
> funguje jen z radky ale ne ve skriptu.
>
Me tabulatory zustavaji.
echo -ne "\taaa\n\t\tbbb\n\t\tccc\n\t\tddd\n\teee\n" |
while read LINE; do
echo ${LINE}
done >/tmp/a
V /tmp/a korektne vidim tabulatory. Pri jake operaci vam taby mizi?
> Nenapada Vas jak tohle vyresit ?
Stavovym automatem.
stav="x";
while read LINE; do
case "$stav" in
x)
if echo $LINE | grep 'pattern1' -q; then
stav = "c";
ULOZ=$LINE;
else
echo $LINE
fi
;;
c)
if echo $LINE | grep 'pattern1' -q; then
echo $ULOZ
ULOZ=$LINE
elif echo $LINE | grep 'pattern2' -q; then
stav = "x"
else
echo $ULOZ
stav = "x"
fi
esac;
done
-- Dalibor Straka
Další informace o konferenci Linux