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 
> [email protected]https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru
> 
> 


-- 
- Пивушков Александр. Институт проблем химической физики. Черноголовка.
-- 
ubuntu-ru mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru

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