[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Ajuda
From: |
Alexandre Vieira Santos |
Subject: |
Re: [shell-script] Ajuda |
Date: |
Sat, 29 Oct 2005 13:02:32 -0200 |
User-agent: |
Mozilla Thunderbird 1.0.6 (X11/20050716) |
acho que isso serve
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
#!/bin/bash
/bin/gawk 'BEGIN { OFS=" " }
{
b = gensub(/.*(......)$/, "\\1","g" , $3 )
c = gensub(/0+(.*)$/, "\\1","g" , b)
print $1,$2,c,$4
}' "$*"
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
b salva os últimos 6 caracteres, e c remove os zeros da frente.
Mauricy Maiorino wrote:
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
<mailto:address@hidden?subject=Unsubscribe>
* O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
--
__
Jones
Alexandre Vieira Santos
mailto:address@hidden
mobile: +55 11 8142 2481
.
.
- Ajuda, Mauricy Maiorino, 2005/10/28