На самом деле это единственный раздел про unix на этом форуме
Модераторы: /dev/random , Модераторы разделов
DeathDream
Сообщения: 2
Сообщение
DeathDream » 12.11.2015 02:10
Здравствуйте. Подскажите пожалуйста, как мне в файле отсортировать строки таким образом что бы в первом столбце те значения которые превышают значение 500 оставались а те которые ниже убирались.
Код: Выделить всё
4841 151.0.16.85
155 109.127.30.91
4 37.140.192.138
В общем это лог из утилиты - tcpdump.
Сначала записал вывод tcpdump-a в файл
Код: Выделить всё
tcpdump -v -n -w attack.log dst port 80 -c 5000
после того как лог создался анализирую с помощью команды, и записываю в тхт файл
Код: Выделить всё
tcpdump -nr attack.log |awk '{print $3}' |grep -oE '[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}' |sort |uniq -c |sort -rn > ip.txt
Возможно мне на этой стадии можно отсортировать ?
Прошу прощения если что то не коректно написал, я в UNIX новичок. Прошу не судите строго!
yoshakar
Сообщения: 259
ОС: Debian Stretch
Сообщение
yoshakar » 12.11.2015 04:13
DeathDream писал(а): ↑ 12.11.2015 02:10
как мне в файле отсортировать строки таким образом что бы в первом столбце те значения которые превышают значение 500 оставались а те которые ниже убирались
Например так:
Shell
% cat dump
155 109.127.30.91
4841 151.0.16.85
4 37.140.192.138
% awk '{ if (strtonum($1) > 500) print }' dump > sorted
% awk '{ if (strtonum($1) <= 500) print }' dump >> sorted
% cat sorted
4841 151.0.16.85
155 109.127.30.91
4 37.140.192.138
DeathDream
Сообщения: 2
Сообщение
DeathDream » 12.11.2015 13:01
Спасибо, уже легче будет сортировать вручную.