Re: Разбор строк

2010-11-03 Нитка Pivushkov Alexandr
Vyacheslav Karamov пишет: > Вы тогда сразу выкладывайте, что Вам там нужно. Может ещё работа с сокетами > понадобится?AWK для этого не предназначен, увы.А значит проще будет написать > пару строчек на Perl. Не, начало положено, дальше я адаптирую уже сам. Еще раз большое спасибо за помощь. Те

Re: Разбор строк

2010-11-03 Нитка Vyacheslav Karamov
Вы тогда сразу выкладывайте, что Вам там нужно. Может ещё работа с сокетами понадобится? AWK для этого не предназначен, увы. А значит проще будет написать пару строчек на Perl. Pivushkov Alexandr пишет: > Vyacheslav Karamov пишет: > >> Держите, лентяюшко :) >> >> awk '{for (i=0; i < NF; ++i)

Re: Разбор строк

2010-11-03 Нитка Vyacheslav Karamov
Более правильно будет сделать даже не так, а вот так: awk '{for (i = 1; i <= NF; ++i) if ($i=="from") {print $3 "\t" $(i+1)} }' log.txt > output.log Vorobyev Andrey пишет: > 02.11.2010 18:01, Vyacheslav Karamov пишет: > > awk '{for (i=0; i < NF; ++i) if ($i=="from") {print $3 "\t" $(i+1)} > }

Re: Разбор строк

2010-11-02 Нитка Pivushkov Alexandr
Vyacheslav Karamov пишет: > Держите, лентяюшко :) > > awk '{for (i=0; i < NF; ++i) if ($i=="from") {print $3 "\t" $(i+1)} }' > log.txt > output.log Зачет! :) Большое спасибо товарищ! :) Честно признаться не думал, что кто то ответит по делу... Только хотел отправлять, но... Теперь уже

Re: Разбор строк

2010-11-02 Нитка Vorobyev Andrey
02.11.2010 18:01, Vyacheslav Karamov пишет: > awk '{for (i=0; i < NF; ++i) if ($i=="from") {print $3 "\t" $(i+1)} }' log.txt > output.log клёве. у меня реализация (на питоне) получилась намнго больше и медленнее :( -- ubuntu-ru mailing list ubuntu-ru@lists.ubuntu.com https://lists.ubuntu.

Re: Разбор строк

2010-11-02 Нитка Dmitry Statyvka
sed -ne 's/^[^ ]\+ \+[^ ]\+ \+\([0-9]\+\).*from \([^ ]\+\).*/\1 \2/p' :-) -- ubuntu-ru mailing list ubuntu-ru@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru

Re: Разбор строк

2010-11-02 Нитка Vyacheslav Karamov
Держите, лентяюшко :) awk '{for (i=0; i < NF; ++i) if ($i=="from") {print $3 "\t" $(i+1)} }' log.txt > output.log Pivushkov Alexandr пишет: > Vyacheslav Karamov пишет: > >> Мануал тут http://bug.lfs06.ru/rtfm/lang/awk/awk1.0.4/ >> > Это я тоже могу сто ссылок за пять минут и отослать к

Re: Разбор строк

2010-11-02 Нитка Pivushkov Alexandr
Vyacheslav Karamov пишет: > Мануал тут http://bug.lfs06.ru/rtfm/lang/awk/awk1.0.4/ Это я тоже могу сто ссылок за пять минут и отослать к мануалу... > > Можно ещё примерно так:awk '{i=split( $0, fields, "\t"); for(j=1; j<=i; j++) > if (fields[i] =="from") {print (fields[i], "\t", $3);}}' log.txt

Re: Разбор строк

2010-11-02 Нитка Pivushkov Alexandr
Vorobyev Andrey пишет: > ..>что-то смахивает на задание из какой-нибудь лабы :-) Эт потому, что привык писать понятно. А тогда получается очень сухой, официальный язык :) Задание, на самом деле, не из лабы, а из жизни :) > а вообще, решается на любом языке с помощью регулярных выражений. Эт

Re: Разбор строк

2010-11-02 Нитка Vyacheslav Karamov
Мануал тут http://bug.lfs06.ru/rtfm/lang/awk/awk1.0.4/ Можно ещё примерно так: awk '{i=split( $0, fields, "\t"); for(j=1; j<=i; j++) if (fields[i] =="from") {print (fields[i], "\t", $3);}}' log.txt > output.log Не проверял. Vyacheslav Karamov пишет: > Gочитай awk manual. Там несложно. > Задач

Re: Разбор строк

2010-11-02 Нитка Vorobyev Andrey
02.11.2010 16:07, Pivushkov Alexandr пишет: >Здравствуйте Уважаемое сообщество. Позволю себе то же спросить не в > тему рассылки. Не обессудьте уж... > >Кому интересно, подскажите пожалуйста, как из строк (пусть будет файл > source.log): > 20006 0 231 nat 1 tcp from 213.180.у

Re: Разбор строк

2010-11-02 Нитка Vyacheslav Karamov
Gочитай awk manual. Там несложно. Задача сводится к перебору всех полей (т.е. столбцов) и нахождении поля равного "from" и печати третьего поля, и поля номер_поля_from + 1. Вывод перенаправить в файл. Pivushkov Alexandr пишет: > Здравствуйте Уважаемое сообщество. Позволю себе то же спросить не

Разбор строк

2010-11-02 Нитка Pivushkov Alexandr
Здравствуйте Уважаемое сообщество. Позволю себе то же спросить не в тему рассылки. Не обессудьте уж... Кому интересно, подскажите пожалуйста, как из строк (пусть будет файл source.log): 20006 0 231 nat 1 tcp from 213.180.уу.х to 213.180.zzz.f dst-port 22 via em1 keep-state 1