LINUX.ORG.RU

Разделение на новые строки и подсчет попыток в AWK

 ,


0

1

Добрый день, есть лог файл не могу отсортировать, помогите

server_1:1000,2000,6000,8000,8000,abb
server_2:5000,4000,7000,8000,6000,abb
server_3:3000,3000,6000,3000,2000,abb
server_4:5000,1000,7000,8000,3000,abb

Должно выглядить:

*server_1 1000
*server_1 2000
*server_1 6000
*server_1 8000
*server_1 8000

*server_2 5000 
*server_2 4000 
*server_2 7000 
*server_2 8000 
*server_2 6000
итд

* Без последних символов (abb)
BEGIN { FS="[, :]"; OFS=" " } { for(i=2; i<=NF; i++) { print $1" "$i } }

Сделал так, но он все равно выводит, символы (abb)

2 Задача надо посчитать сколько раз повторяеться каждый элемент на серверах, тоже без (abb)



Последнее исправление: iBot__2020 (всего исправлений: 4)

Ерундовое дело, никакой интриги, так что в jobs, там за деньги сделают за тебя

З.Ы. замени <= на <

З.З.Ы. считать через hash (ассоциативный массив)

futurama ★★★★★
()
Последнее исправление: futurama (всего исправлений: 2)

но он все равно выводит, символы (abb)

А ты регуляркой его отсеки. Или типа того.

turtle_bazon ★★★★★
()
gawk 'BEGIN { FS="[, :]"; OFS=" " } { for (i=2;i <= NF;i++) { if ($i ~ "^[[:digit:]]+$") { print($1 " " $i); ++counter[$1][$i] } } } END { for (i in counter) for (j in counter[i]) print($i " " $j ": " counter[i][j]) }'
DllMain
()
Ответ на: комментарий от futurama

Ой спасибо, все так как должно было быть, сорян интриги пока нету((

iBot__2020
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.