Tiago nessa expressão
cut -c1-2,16-21 teste | awk '/^04/{total += $1 % 4E6}END{print total}'
não intendi oq vc fez pra somar vc poderia me explica oq é essa
expressão?
{total += $1 % 4E6}
--- Em [email protected], "Tiago Barcellos Peczenyj"
<[EMAIL PROTECTED]> escreveu
>
> AWK sem substring:
>
> $ cut -c1-2,16-21 teste | awk '/^04/{total += $1 % 4E6}END{print
total}'
> 762
>
> Agora, aloprando um pouco:
>
> $ grep ^04 teste | cut -c16-21 | xargs -i -n1 seq 1 {} | wc -l
> 762
>
> []´s Tiago
>
> On 12/26/06, Camilo Silva <[EMAIL PROTECTED]> wrote:
> >
> > JHOL ,
> >
> > Não sei se ajudaria mas pode-se tentar
> >
> > Digamos que seu arquivo teste.txt possuísse o conteúdo :
> >
> > 04067174401000100038101511711060824 0000 - linha 1
> > 04067174402000100038101511711060824 0000 - linha 2
> > 02067305475002200038211101711060000 0042 - linha 3
> > 01067305480002200038811101711060000 0042 - linha 4
> > 01068157444002200262911101711060000 0043 - linha 5
> > 03067305481000300038911101711060000 0022 - linha 6
> > 01067305481000300038911101711060000 0022 - linha 7
> >
> > cat teste.txt | sed -n '/^04/p' | while read a; do echo
${a:16:5}; done |
> > awk '{ tot = tot + $1} END { print"resultado ==> " tot}'
> >
> > resultado ==> 762
> >
> > ----- Mensagem original ----
> > De: JHOL XD <[EMAIL PROTECTED] <jonatas_net%40yahoo.com.br>>
> > Para: [email protected] <shell-script%
40yahoogrupos.com.br>
> > Enviadas: Terça-feira, 26 de Dezembro de 2006 13:07:20
> > Assunto: [shell-script] Dificuldade de fazer um scrip de shell
> >
> > Ola pessoal meu problema é o seguinte
> >
> > estou procurando um combo de comandos em shell script para fazer
> > em uma linha de +ou- 39 carteres numericos em um arquivo de mais
de
> > 20mil linhas
> >
> > selecionar os dois primeiros caracteres em um numero especifico
> > selecionar do 16 caractere ao 21 caractere e essa sequencia de
> > cararteres seja somada
> >
> > um ex
> >
> > 0406717440100010003 8101511711060824 0000 - linha 1
> > 0406717440200010003 8101511711060824 0000 - linha 2
> > 0206730547500220003 8211101711060000 0042 - linha 3
> > 0106730548000220003 8811101711060000 0042 - linha 4
> > 0106815744400220026 2911101711060000 0043 - linha 5
> > 0306730548100030003 8911101711060000 0022 - linha 6
> > 0106730548100030003 8911101711060000 0022 - linha 7
> >
> > preciso selecionar todas as linhas com começo 04 e somar a
sequencia
> > do 16 caractere ao 21 caratere
> > dessa linha no caso desse ex selecionaria
> >
> > 0406717440100010003 8101511711060824 0000 - linha 1
> > 0406717440200010003 8101511711060824 0000 - linha 2
> >
> > dai somaria a sequencia da 16 ao 21 caractere no caso 000381
> >
> > 000381
> > +000381
> > 000762
> >
> > no caso exiba o numero 000762
> >
> > eu cheguei até esse comando até
> >
> > agora cat arquivo_exemplo | grep -E '^04' | cut -c 16-21
> >
> > por favor me ajudem desde já agradeço
> >
> > __________________________________________________
> > Fale com seus amigos de graça com o novo Yahoo! Messenger
> > http://br.messenger.yahoo.com/
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
>
>
> --
> Tiago B Peczenyj
> Linux User #405772
>
> # cd /pub
> # more beer
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>