[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Ajuda
From: |
Tiago Barcellos Peczenyj |
Subject: |
Re: [shell-script] Ajuda |
Date: |
Sat, 29 Oct 2005 14:02:54 -0200 |
opa
eu não seo que regra vc usa na terceira coluna.
eu pensei assim: se tiver 000200 na frente, tira isso tudo, caso
contrario, se tiver 000, tira da frente,
po qual a diferença entre 0002000044 e 000206 ? po em um tem que
sobrar 44 e no outro 206... vai saber...
bom ficou assim
awk '{sub ("000200","",$3); sub("000","",$3) ; print $1" "$2"
"int($3)" "$4}' arquivo
usei:
int(x) - "trunca" o valor de x, desprezando a parte decimal.
gsub(regexp,valor,string) procura uma ocorrência da expressão regexp
em string, e substitui por valor.
a regra pode ser meio estranha mas foi o que pude pensar. deve ter uma
forma melhor.
Em 29/10/05, Mauricy Maiorino <address@hidden> escreveu:
> Pessoal
>
> Tenho a seguinte entrada de arquivo:
>
> funcconv 99102000000000 296 funcamp
> funcconv 99102000000000 262 funcamp
> funcconv 99102000000000 164 funcamp
> penteado 09000000000000 0002000044 ifch
> novelli 09000000000000 39 ifch
> csbarra 09000000000000 000206 ifch
>
>
> O que preciso é que quando o terceiro campo for do tipo "0002000044" ou
> do tipo "000206" que ele de um "cut" e me deixe somente os numeros
> inteiros. A saída precisaria ficar assim:
>
> funcconv 99102000000000 296 funcamp
> funcconv 99102000000000 262 funcamp
> funcconv 99102000000000 164 funcamp
> penteado 09000000000000 44 ifch
> novelli 09000000000000 39 ifch
> csbarra 09000000000000 206 ifch
>
> Já tentei com awk e cut mas sem sucesso. Se usar o sed, não dá, pois a
> numeração deste campo pode variar "antes" do numero inteiro, ou seja os
> 3 ou 4 primeiros digitos deste campo.
>
> Alguem pode me ajudar??
>
> Obrigado
>
> Mauricy
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>
>
>
>
> Yahoo! Grupos, um serviço oferecido por:
>
> PUBLICIDADE
>
> ________________________________
Links do Yahoo! Grupos
>
>
> Para visitar o site do seu grupo na web, acesse:
> http://br.groups.yahoo.com/group/shell-script/
>
> Para sair deste grupo, envie um e-mail para:
> address@hidden
>
> O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do
> Yahoo!.
- Ajuda, Mauricy Maiorino, 2005/10/28