![]() |
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui. |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| a forma de ordenação, e contar dados exclusivos de uma só vez? | amatuer_lee_3 | Programação Shell Script e | 16 | 04-14-2009 11:22 |
| Origem e Destino count controlo | ksmbabu | Programação Shell Script e | 2 | 04-03-2008 04:57 |
| grep executando total / total final em vários ficheiros | Mrad | UNIX para Dummies Perguntas & Respostas | 5 | 05-08-2007 02:03 |
| Byte Taxa para / a partir de uma origem / destino | cubs0729 | UNIX & avançada para usuários experientes | 1 | 08-08-2005 05:55 |
| Script para a contagem do número único usuário em loged | elchalateco | Programação Shell Script e | 1 | 09-30-2002 12:32 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
A contagem total destino único para a fonte
Oi, preciso de ajuda para contar como único destino para a fonte ip. O arquivo está contém 4 número de domínios. Exemplo do arquivo está aqui
Código HTML:
src ip dest ip #of flows total bytes 192.168.6.0 88.0.33.2 12 128 192.168.6.0 88.0.33.2 1 168 192.168.6.0 111.22.35.0 2 364 192.168.5.0 88.0.33.2 1 125 ..... Código HTML:
192.168.6.0 2 15 660 192.168.5.0 1 1 125 ..... |
|
||||
|
Não sei o que está errado com a minha saída. É o resultado que eu quero.
Citação:
Código:
{src[$1,$2]++
total[$1,$2]=total[$1,$2]+$3
bytes[$1,$2]=bytes[$1,$2]+$4
}
END{
for (i in src) print src " " src[i] "\t" total[i] "\t" bytes[i]
}
|
|
|||||
|
Sim,
sua exigência é mais do que evidente, Pedimos desculpas pelo ruído. Utilize este código: Código:
awk 'END {
for (k in u) {
printf "%s\t%s\t%s\t%s\n",
k, u[k], f[k], b[k]
}
}
NR > 1 {
_[$1,$2]++ ? u[$1] : ++u[$1]
f[$1] += $3
b[$1] += $4
}' file
|
|
||||
|
Muito obrigado pela sua ajuda. Estou agora conseguem produzir o resultado que eu quero. No entanto, quando eu manualmente verificar, não há linha de produção é calcular mal. Quando tento remover a NR> 1, então ele funciona perfeitamente.
Muito obrigado pela ajuda. |
![]() |
| Marcadores |
| Tags |
| solaris |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|