![]() |
|
|
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 |
| awk - Contando número de linhas semelhantes | dhanamurthy | Programação Shell Script e | 8 | 05-16-2008 07:00 |
| Contando número de ocorrências | kingofprussia | UNIX para Dummies Perguntas & Respostas | 1 | 04-01-2008 08:11 |
| Preciso de ajuda para contagem dos campos e separadores de campos usando Nawk | scrappycc | Programação Shell Script e | 3 | 02-06-2008 11:47 |
| Contando número de arquivos em um diretório | iamalex | UNIX para Dummies Perguntas & Respostas | 2 | 09-05-2005 11:13 |
| contando o número de linhas | nayeemmz | Linux | 6 | 01-19-2005 12:37 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Ajuda na contagem número de bytes em um campo
Oi,
Eu tenho um arquivo que tem uma carga com 300 registros de domínios. dois deles são: field_1 tem entre 8-9 bytes ou seja, 012345678, 0123456789 field_2 tem 10 bytes ou seja 01234567890 Quero ser capaz de fazer eco com o total de cada um desses campos ou seja, 200 (tem 8 .-9. bytes) 100 (com 10 bytes) não sei como fazer isso, tenho tentado wc-l: RR \u003d "wc-l cliente diretório / arquivo in.dat" o arquivo em. dat tem um espaço no nome do arquivo? não tenho certeza se ele faz a diferença? Eu não posso chegar a este trabalho? qualquer ajuda seria appreceiated. |
|
||||
|
Não usar awk a todos os não tão certo como se escreve isso??
Preciso de duas variáveis que na saída 8 -9 byte total e 10 bytes total ou seja, 8-9 \u003d awk '(arr [length ($ 1)] + +) END (print "8 .-9. bytes", arr [8] + arr [9]) 'caminho para o arquivo? 10 \u003d awk '(arr [comprimento ($ 2 )]++;) END (print "10 bytes", arr [10]) 'caminho para o arquivo? É desta forma que você usa a solução de Jim? ![]() |
|
|||||
|
Ele usa arrays associativos, a compreender como arrays associativos trabalham em awk, consulte este post Incapaz de compreender natureza associativa do awk arrays Sobre esta executando awk script, você tem que usá-lo da mesma forma que ele codificadas, como por suas suas necessidades, se você não sabe como executá-la na linha de comando e, em seguida, colocá-la em algum script de shell e execute o arquivo. Algo parecido com isto: Código:
#! /bin/ksh
awk '{ arr[length($1)]++; arr[length($2)]++; }
END {print "8 - 9 bytes", arr[8]+arr[9], " 10 bytes ", arr[10] } ' file
Salve este script de shell como "teste", em seguida, faça o seguinte: Código:
chmod +x test ./test |
![]() |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|