Страница 1 из 1

помогите с выборкой

Добавлено: 2007-06-21 6:12:09
maniac
Народ уже несколько дней парюсь, курю маны, а чтот все равно не получается. Значит что нужно, есть список вида:

port SrcIP port dstIP oktets packet
2345 192.168.0.1 80 216.15.40.30 200034 3
xxx xx.xx.xx.xx xxx xx.xx.xx.xx xxxxxx xxx
xxx xx.xx.xx.xx xxx xx.xx.xx.xx xxxxxx xxxx

ну и так далее. Все это находиться в файлике просто. Что нужно сделать, например выбрать все строки в которых есть ip address 192.168.0.1 по второму столбцу, выбрать все строки в которых есть ip address но по четвертому столбцу. Понятно что это делается с помощью grep, но как до меня что не доходит. HELP!!!

Добавлено: 2007-06-21 7:44:29
Happy_demon
base# awk '{print $2}' test.awk | grep "192.168.25.2"

или

base# cat test.awk | cut -d " " -f 2 | grep "192.168.25.2"

Добавлено: 2007-06-21 9:42:49
maniac
нужно выбирать именно строки полностью но чтобы сортировка шла по 2 столбцу, так не работает

Добавлено: 2007-06-21 10:17:56
schizoid
приведи дец больше строк, а то выдумывать ломает.

Добавлено: 2007-06-21 11:04:42
maniac
вот такой вот список содержит 7 столбцов

Код: Выделить всё

srcIP                          dstIP            prot  srcPort  dstPort  octets      packets
xx.xx.xx.xx     xx.xx.xx.xx                 6     1146     443      1280        12        
xx.xx.xx.xx     xx.xx.xx.xx                 6     443      1146     13117       15        
xx.xx.xx.xx     xx.xx.xx.xx                 6     80       1936     40          1         
xx.xx.xx.xx     xx.xx.xx.xx                 6     44135    1521     8221        37        
xx.xx.xx.xx     xx.xx.xx.xx                 6     1521     44135    16511       37        
xx.xx.xx.xx     xx.xx.xx.xx                 6     44136    1521     7939        32        
xx.xx.xx.xx     xx.xx.xx.xx                 6     1521     44136    3701        29        
xx.xx.xx.xx     xx.xx.xx.xx                  6     1247     80       925         5         
xx.xx.xx.xx     xx.xx.xx.xx                  6     80       1247     760         4         
xx.xx.xx.xx     xx.xx.xx.xx                   6     2539     80       421         6         
xx.xx.xx.xx     xx.xx.xx.xx                  6     80       2301     208         5         
xx.xx.xx.xx     xx.xx.xx.xx                  17    53       53       293         2         

Добавлено: 2007-06-21 11:36:02
schizoid
я вообще-то с ИПшниками хотел...
лана...
выбрать все строки в которых есть ip address 192.168.0.1 по второму столбцу
т.е. этот ип может находиться и в другом столбце?

Добавлено: 2007-06-21 14:40:10
Happy_demon
если то, то это есть даже здесь, на сайте

Код: Выделить всё

awk '$2=="192.168.25.2" {print}' test.awk

Добавлено: 2007-06-21 15:12:52
dikens3
У меня веселее, нужно было вывести 1,2,3 поля + последним поле, в котором содержалось(не равно этому значению) искомое значение. Вывод только в том случае положительного результата. (В моём случае это был поиск from.)

Код: Выделить всё

 awk '{ for (i=NF;i>0;--i) {{a=$i} if ( a~"from=" ) {print $1,$2,$3,a}}}'