LINUX.ORG.RU
ФорумAdmin

grep


0

0

Надо чтобы скипалось найденое и N строк ниже # cat file a b c d a b c d

такая команда показывает найденое и 1 строку ниже # cat file |grep a -A1 a b -- a b

а нужно чтобы скипало а не показывало # cat file |grep a [????????] c d -- c d

anonymous

Re: grep

бля что с форматированием на этом форуме

Надо чтобы скипалось найденое и N строк ниже
# cat file
a
b
c
d
a
b
c
d

такая команда показывает найденое и 1 строку ниже
# cat file |grep a -A1
a
b
--
a
b


а нужно чтобы скипало а не показывало
# cat file |grep a [????????]
c
d
--
c
d

anonymous ()
Ответ на: Re: grep от dilmah

Re: grep

неправильно!

anonymous ()
Ответ на: Re: grep от dilmah

Re: grep

awk 'BEGIN { timer=0 } /pattern/ { timer=5 } (timer == 0) { print } (timer > 0) { --timer }'

скипает 5 строк вместе с паттерном

dilmah ★★★★★ ()
Ответ на: Re: grep от dilmah

Re: grep

во, тема! мегареспект!

anonymous ()
Ответ на: Re: grep от dilmah

Re: grep

Вот такой еще можно вариант:
awk -v c=5 '/pattern/ {for(i=0;i<c;i++) getline} {print}'

sdio ★★★★★ ()
Ответ на: Re: grep от sdio

Re: grep

хм... не совсем тожесамое
s2:~ # cat sgd |awk -v c=2 '/a|b/ {for(i=0;i<c;i++) getline} {print}'
c
d
c
d
s2:~ # cat sgd |awk 'BEGIN { timer=0 } /a|b/ { timer=2 } (timer == 0) { print } (timer > 0) { --timer }'
d
d
s2:~ #

anonymous ()
Ответ на: Re: grep от anonymous

Re: grep

А, ну исправь "i<c" на "i<=c"

sdio ★★★★★ ()
Ответ на: Re: grep от sdio

Re: grep

не в том дело, он совсем неправильно работает

s2:~ # cat log abc cde fgh abc fgh fgh abc cde cde cde cde fgh fgh cde cde fgh cde cde cde cde cde cde cde cde cde cde cde fgh cde cde abc cde fgh abc fgh fgh abc cde cde cde cde fgh

s2:~ # cat log |awk 'BEGIN { timer=0 } /abc|fgh/ { timer=3 } (timer == 0) { print } (timer > 0) { --timer }' cde cde cde

s2:~ # cat log |awk -v c=3 '/abc|fgh/ {for(i=0;i<c;i++) getline} {print}' cde cde fgh cde cde cde cde cde cde abc cde cde cde cde fgh

s2:~ # cat log |awk -v c=4 '/abc|fgh/ {for(i=0;i<c;i++) getline} {print}' fgh cde cde fgh cde cde cde cde fgh s2:~ #

anonymous ()
Ответ на: Re: grep от anonymous

Re: grep

не в том дело, он вообще неправильно работает

s2:~ # cat log
abc cde fgh
abc fgh fgh
abc cde cde
cde cde fgh
fgh cde cde
fgh cde cde
cde cde cde
cde cde cde
cde cde cde
fgh cde cde
abc cde fgh
abc fgh fgh
abc cde cde
cde cde fgh

s2:~ # cat log |awk 'BEGIN { timer=0 } /abc|fgh/ { timer=3 } (timer == 0) { print } (timer > 0) { --timer }'
cde cde cde

s2:~ # cat log |awk -v c=3 '/abc|fgh/ {for(i=0;i<c;i++) getline} {print}'
cde cde fgh
cde cde cde
cde cde cde
abc cde cde
cde cde fgh

s2:~ # cat log |awk -v c=4 '/abc|fgh/ {for(i=0;i<c;i++) getline} {print}'
fgh cde cde
fgh cde cde
cde cde fgh
s2:~ #

anonymous ()
Ответ на: Re: grep от anonymous

Re: grep

А так?

cat log | awk -v c=3 '!/abc|fgh/ {print} /abc|fgh/ {for(i=0;i<c;i++) getline}'

sdio ★★★★★ ()
Ответ на: Re: grep от sdio

Re: grep

В любом случае вариант dilmah лучше

sdio ★★★★★ ()

Re: grep

sdio, dilmah большое спасибо за участие!

sa22 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.