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

Дати відповідь електронним листом