shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] duvida com sed


From: Luciano Machado Granella
Subject: Re: [shell-script] duvida com sed
Date: Thu, 21 Dec 2000 01:16:22 -0200

Maurício, como você vai trabalhar com texto e expressões regulares, seria bom se
você usasse PERL.
Estou te enviando um tutorial de PERL. Dê uma olhada em "matching.html". Não é
difícil de se trabalhar com perl (você sabe inglês?).
Os parâmetros do script são armazenados em @ARGV[], onde $ARGV[1] é o primeiro
parâmetro e $ARGV[2] é o segundo argumento. Você pode abrir o arquivo de entrada
com open(ENTRADA, "arquivo_de_entrada") e open(SAIDA, ">arquivo_de_saída") para
abrir o arquivo de saída (note o sinal ">" que indica arquivo de saída.
        [ ]s,
                                                                Luciano Granella

Mauricio Vieira wrote:

> Alo lista,
> tenho uma duvida com um script que penso ser possivel ser feito
> apenas com sed (sou iniciante). tenho uma serie de listas do majordomo e
> quero acrescentar o @araketu.dcc.ufba.br em todos os nomes que nao tiverem
> o @ (ha mails @outracoisa.dominio e nao devem ser alterados, mas todos os
> nomes que nao tem o @ sao araketu.dcc.ufba.br)
> nao entendo muito bem como o sed faz para apagar o nome do arquivo ou nao sei
>  como posso substituir o nome no arquivo, entao fiz o seguinte:
>
> #!/bin/bash
>
> # Acerta.sh - script para adicionar o @araketu.dcc.ufba.br em todos os
> # logins de todas as listas que nao tiverem o @araketu.dcc.ufba.br
>
> # Por Mauricio B. C. Vieira - 2000dez19
>
> for I in $( ls -1 | grep -E -e 'info' -e 'config' | cut -f 1 -d . | sort \
> | uniq ); do
>   cp $I $I.acerta
>   for NOME in $( grep -v @ $I.acerta ); do
>         sed '/NOME/d' $I.acerta >> $I
>         sed 's/NOME/address@hidden/' $I.acerta >> $I
>   done
> done
>
> #fim
>
> e nao funcionou. como o sed pode substituir o texto no proprio arquivo,
> sem ter que redirecionar pro pipe? percebi (testando) que se manda
> redirecionar a saida pro proprio arquivo ele apaga (sed 'algumacoisa'
> arquivo > arquivo) o proprio arquivo.
> o motivo daquele pequeno comando no ls eh pq o majordomo tem os arquivos
> lista-alunos, lista-alunos.config e lista-alunos.info e quero apenas o
> lista-alunos. alguma sugestao? nao sei awk nem perl, mas sugestoes sao
> bem-vindas (ateh um incentivo pra estudar isto tbm).
>
> +
>    Mauricio Vieira
>
>                                                     +
>
>
> Inscrição:     address@hidden
>
> Sair da lista: address@hidden
>
> Banco Dados:   http://www.egroups.com/group/shell-script

Attachment: Perl-tut.zip
Description: application/compressed


reply via email to

[Prev in Thread] Current Thread [Next in Thread]