tente desta forma

#!/usr/bin/perl
# Salve este arquivo e execute ele da seguinte forma
# perl <este_arquivo> <arquivo_de_BDD>

@ARGV;


open FILE, "$ARGV[0]";

while(<FILE>){
    chomp($_);
    my @nvalues = split(";", $_);
    my $number = $nvalues[2];
    #print $number . "\n";
    if($number =~ m/11[5-9][0-9]{7}/){
        $ddd = substr($number, 0, 2);
        $nnumber = substr($number, 2, 8);
        $ninedigit = $ddd . "9" . $nnumber;

        #print "NUMERO NOVO: $ninedigit\n";
    }else{
        $ninedigit = $number;
    }

    $asize = scalar @nvalues;
    #print "Tamanho: $asize\n";
    for ($i = 0; $i < @nvalues; $i++){
        if($i != 2){
            print @nvalues[$i] . ";";
        }else{
            print $ninedigit . ";";
        }
        if($i == ($asize -1)){
            print "\n";
        }
    }
}


close FILE;


Em 31-07-2012 10:49, Rodrigo Lang escreveu:
Sim, assim irá funcionar...


Só não utilize a que eu te passei, pois ela está errada, ela irá substituir tudo que contém ";11" de 6 à 9 mais 7 dígitos por apenas ";119". Erro meu, desculpa.

Você só irá ter que fazer manualmente para ";119", ";118", etc..


At,
Rodrigo Lang.

Em 31 de julho de 2012 10:46, mon...@addphone.net <mailto:mon...@addphone.net> <mon...@addphone.net <mailto:mon...@addphone.net>> escreveu:

    eu estou fazendo com SED mesmo, estou retirando a 1º string e o
    que esta depois da hora na modificaçao

    assim toda linha que que contem ;119 posso trocar por ;1199 e ai
    blz, pois nem outro campo do arquivo tem esta ocorrencia




    On 7/31/2012 10:41 AM, Rodrigo Lang wrote:
    Monica, está utilizando o vi/vim para editar esse arquivo?

    Se sim, de acordo com o padrão que você mostrou (
    ";<DDD><Número>;" )digite dois pontos e:

    %s/;11[6-9]{7}/;119/g


    Sugiro que faça um backup do arquivo antes.


    At,
    Rodrigo Lang.


    Em 31 de julho de 2012 10:19, mon...@addphone.net
    <mailto:mon...@addphone.net> <mon...@addphone.net
    <mailto:mon...@addphone.net>> escreveu:

        Bom dia, bom, como todos já sabem ontem entrou em vigor a
        alteração dos celulares de SP
        Preciso alterar minha base de dados para adicionar o 9

        meu arquivo de números esta assim

        6917078;21652957;1188484474;55341;0341;498;07/07/2012
        21:00:59;lspp;new;Basic;;07/07/2012 21:00:58;INSERT;
        6917082;21652955;1168798090;55341;0341;498;07/07/2012
        21:00:59;lspp;new;Basic;;07/07/2012 21:00:58;INSERT;
        6917083;21652962;1198848449;55341;0341;498;07/07/2012
        21:01:00;lspp;new;Basic;;07/07/2012 21:00:59;INSERT;
        6917085;21652964;1178484502;55341;0341;498;07/07/2012
        21:01:00;lspp;new;Basic;;07/07/2012 21:00:59;INSERT;


        estou tentando usando expressão regular e SED.

        A expressão regular para encontrar só os números de SP já
        criei, agora falta como colocar este maldito 9 na frente.

        Obrigada

        _______________________________________________
        KHOMP Inovação: External Board Series
        Módulos de 1/2 rack e 1U para todas as interfaces e soluções
        Asterisk e FreeSWITCH.
        Tenha a External Series Experience na sua aplicação. Visite
        www.khomp.com <http://www.khomp.com>
        _______________________________________________
        DIGIVOICE  Fabricante de Placas de Voz e Channel Bank
        20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM
        Centro Treinamento - Curso de PABX IP -  Asterisk  - Site
        www.digivoice.com.br <http://www.digivoice.com.br>
        ________
        YEALINK: Telefones IP e VídeoPhones IP com o melhor
        custo/benefício do mercado.
        email: yeal...@commlogik.com.br
        <mailto:yeal...@commlogik.com.br> | www.commlogik.com.br
        <http://www.commlogik.com.br> | (11) 5503-1011
        ______________________________________________
        Para remover seu email desta lista, basta enviar um email em
        branco para
        asteriskbrasil-unsubscr...@listas.asteriskbrasil.org
        <mailto:asteriskbrasil-unsubscr...@listas.asteriskbrasil.org>




-- Rodrigo Lang



    _______________________________________________
    KHOMP Inovação: External Board Series
    Módulos de 1/2 rack e 1U para todas as interfaces e soluções
    Asterisk e FreeSWITCH.
    Tenha a External Series Experience na sua aplicação. Visite
    www.khomp.com <http://www.khomp.com>
    _______________________________________________
    DIGIVOICE  Fabricante de Placas de Voz e Channel Bank
    20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM
    Centro Treinamento - Curso de PABX IP -  Asterisk  - Site
    www.digivoice.com.br <http://www.digivoice.com.br>
    ________
    YEALINK: Telefones IP e VídeoPhones IP com o melhor
    custo/benefício do mercado.
    email: yeal...@commlogik.com.br <mailto:yeal...@commlogik.com.br>
    | www.commlogik.com.br <http://www.commlogik.com.br> | (11) 5503-1011
    ______________________________________________
    Para remover seu email desta lista, basta enviar um email em
    branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org
    <mailto:asteriskbrasil-unsubscr...@listas.asteriskbrasil.org>




--
Rodrigo Lang



_______________________________________________
KHOMP Inovação: External Board Series
Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e 
FreeSWITCH.
Tenha a External Series Experience na sua aplicação. Visite www.khomp.com
_______________________________________________
DIGIVOICE  Fabricante de Placas de Voz e Channel Bank
20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM
Centro Treinamento - Curso de PABX IP -  Asterisk  - Site  www.digivoice.com.br
________
YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado.
email: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011
______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para 
asteriskbrasil-unsubscr...@listas.asteriskbrasil.org

_______________________________________________
KHOMP Inovação: External Board Series
Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e 
FreeSWITCH.
Tenha a External Series Experience na sua aplicação. Visite www.khomp.com
_______________________________________________
DIGIVOICE  Fabricante de Placas de Voz e Channel Bank
20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM
Centro Treinamento - Curso de PABX IP -  Asterisk  - Site  www.digivoice.com.br
________
YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado.
email: yeal...@commlogik.com.br | www.commlogik.com.br | (11) 5503-1011
______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para 
asteriskbrasil-unsubscr...@listas.asteriskbrasil.org

Responder a