Vyacheslav Karamov пишет: > Держите, лентяюшко :) > > awk '{for (i=0; i < NF; ++i) if ($i=="from") {print $3 "\t" $(i+1)} }' > log.txt > output.log Зачет! :) Большое спасибо товарищ! :) Честно признаться не думал, что кто то ответит по делу...
Только хотел отправлять, но... Теперь уже нужна ссылка, как можно проверить поле "$(i+1)" на попадание в заданный диапазон? Например только от 213.180.55.3 до 213.180.55.8 > > 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 > >>> output.log >>> >> Не работает, к сожалению. >> >> >>> Не проверял. >>> Vyacheslav Karamov пишет:> Gочитай awk manual. Там несложно.> Задача >>> сводится к перебору всех полей (т.е. столбцов) и нахождении поля > равного >>> "from" и печати третьего поля, и поля номер_поля_from + 1.> Вывод >>> перенаправить в файл.>> 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>> >>> 10000 0 24435 allow tcp from 213.180.уу.х to >> >>> 213.180.zzz.f dst-port 80,443,3389,8000 via em1 keep-state>>>>>> вытащить >>> число, которое стоит в третьей позиции (здесь это "231" и >> "24435") и IP >>> адрес. Проблема в том, что IP может стоять где угодно в >> строке, но перед >>> ним обязательно должен стоять "from".>>>> уу -меняется от 55 до 76>> х >>> меняется от 3 до 8>>>> z и f - не рассматриваютс я. >>> >>>>>>>> Необходимо создать файл output.log с двумя колонками:>>>> Число >>>>>>>> "пробел" IP>>>> Например здесь будет так:>> 231 213.180.уу.х>> 24435 >>>>>>>> 213.180.уу.х>> ...>>>>>> >> >>> -- - Пивушков Александр. Институт проблем химической физики. Черноголовка. -- ubuntu-ru mailing list ubuntu-ru@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru