URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 61090
[ Назад ]

Исходное сообщение
"Как открыть файл в awk?"

Отправлено Руля , 20-Окт-05 10:47 
Нужно в скрипте считать данные из файла типа:
tcpdump | /filter < file

Содержание

Сообщения в этом обсуждении
"Как открыть файл в awk?"
Отправлено Brainbug , 20-Окт-05 10:48 
>Нужно в скрипте считать данные из файла типа:
>tcpdump | /filter < file


a pri4em tut awk ?


"Как открыть файл в awk?"
Отправлено Руля , 20-Окт-05 11:52 
>a pri4em tut awk ?
filter - это скрипт написанный на awk.
Вопчим, этот вопрос отпал. Появился другой: есть строка
10:49:51.438168 IP 192.168.161.15.1028 > 192.168.161.1.2222: . ack 1196 win 64339
как в скрипте вытянуть адрес 192.168.161.15?
Если разделитеь пробел - то получаем 192.168.161.15.1028.
Если "." то - 438168 IP 192



"Как открыть файл в awk?"
Отправлено allez , 20-Окт-05 12:00 
>>a pri4em tut awk ?
>filter - это скрипт написанный на awk.
>Вопчим, этот вопрос отпал. Появился другой: есть строка
>10:49:51.438168 IP 192.168.161.15.1028 > 192.168.161.1.2222: . ack 1196 win 64339
>как в скрипте вытянуть адрес 192.168.161.15?
>Если разделитеь пробел - то получаем 192.168.161.15.1028.
>Если "." то - 438168 IP 192

Используйте конвейер:

$ echo "10:49:51.438168 IP 192.168.161.15.1028 > 192.168.161.1.2222: . ack 1196 win 64339" | awk '{print $3}' | awk -F. '{print $1 "." $2 "." $3 "." $4}'
192.168.161.15


"Как открыть файл в awk?"
Отправлено Руля , 20-Окт-05 12:26 

>Используйте конвейер:
>
>$ echo "10:49:51.438168 IP 192.168.161.15.1028 > 192.168.161.1.2222: . ack 1196 win 64339" | awk '{print $3}' | awk -F. '{print $1 "." $2 "." $3 "." $4}'
Это все понятно, а как это в скрипте реализовать?
#!/usr/bin/awk



"Как открыть файл в awk?"
Отправлено Brainbug , 20-Окт-05 12:45 
>
>>Используйте конвейер:
>>
>>$ echo "10:49:51.438168 IP 192.168.161.15.1028 > 192.168.161.1.2222: . ack 1196 win 64339" | awk '{print $3}' | awk -F. '{print $1 "." $2 "." $3 "." $4}'
>Это все понятно, а как это в скрипте реализовать?
>#!/usr/bin/awk

Napimer tak:

[tmp]$ cat 1.txt | awk '{print $3}' | ./1.sh
192.168.161.15
[tmp]$ cat 1.txt
10:49:51.438168 IP 192.168.161.15.1028 > 192.168.161.1.2222: . ack 1196 win 64339
[tmp]$ cat 1.sh
#!/bin/awk -f
BEGIN {FS="."}
{
        for(i=1;i <= NF-1;i++){
                if (i!=4){
                        printf "%d.",$i
                } else {
                        printf "%d\n",$i
                }
        }
}


"Как открыть файл в awk?"
Отправлено Brainbug , 20-Окт-05 12:01 
>>a pri4em tut awk ?
>filter - это скрипт написанный на awk.
>Вопчим, этот вопрос отпал. Появился другой: есть строка
>10:49:51.438168 IP 192.168.161.15.1028 > 192.168.161.1.2222: . ack 1196 win 64339
>как в скрипте вытянуть адрес 192.168.161.15?
>Если разделитеь пробел - то получаем 192.168.161.15.1028.
>Если "." то - 438168 IP 192

Samij prostoi sposob:
[tmp]$ cat test | awk '{print $2}' | awk -F . '{print $1"."$2"."$3"."$4}'
2.2.2.2
[tmp]$ cat test
11.1.1 2.2.2.2.2