Ir direto para busca.
sed-br · Lista sobre SED e Expressões Regulares

Informações sobre o grupo

? Você já é um associado? Entre no Yahoo!

Dicas

Você sabia...
Você pode fazer buscas no grupo por mensagens antigas.

Mensagens

  Ajuda
Avançado
mensagens 125 - 154 de 5040   Mais antigos  |  < Mais antigos  |  Mais recentes >  |  Mais recentes
mensagens 125 - 154 de 5040   Mais antigos  |  < Mais antigos  |  Mais recentes >  |  Mais recentes
mensagens: Exibir resumo de mensagens Classificar por data ^  
#125 De: "Marco" <mac_bos@...>
Data: Qua, 1 de Mar de 2000 3:46 am
Assunto: Re: Substituir colunas
mac_bos@...
Enviar e-mail Enviar e-mail
 
Alex,

faça o seguinte:

sed "s/^..........//" arquivo1 > arquivo2
ou
sed "s/'coluna'//g" arquivo1 >arquivo2
ou ainda
sed "s/'coluna'/-/g" arquivo1 > arquivo2

onde 'coluna' é o caracter relacionado à coluna.

[]'s

marco


----- Original Message -----
From: Alex Palombo <palombo@...>
To: <sed-br@eGroups.com>
Sent: Tuesday, February 29, 2000 10:06 PM
Subject: [sed-br] Substituir colunas


Primeiramente,

Olá a todos, me inscrevi hoje nesta lista e fiquei muito feliz dando
uma olhada nas mensagens passadas, resolvem muitos dos meus problemas.
Parabens a todos.

A minha duvida é a seguinte: como substituo colunas com o sed?
Por exemplo : Gostaria de deletar as primeiras 10 colunas de todas as
linhas um arquivo. COmo faço? Ou senão, ao invés de deletar, substituir
estas dez colunas por um ´-´. Existem comandos que fazem isso mais
facilmente? Perdoem minha ´leiguice´...

Obrigado,

Alex.


------------------------------------------------------------------------
Get your money connected @ OnMoney.com - the first Web site that lets you
see, consolidate, and manage all of your finances all in one place.
http://click.egroups.com/1/1636/5/_/161736/_/951872839/

-- Easily schedule meetings and events using the group calendar!
-- http://www.egroups.com/cal?listname=sed-br&m=1

#126 De: aurelio marinho jargas <aurelio@...>
Data: Qui, 2 de Mar de 2000 12:59 am
Assunto: Re: Calculo de horas
aurelio@...
Enviar e-mail Enviar e-mail
 
@ 29/2, Marco:
> ps. Aurelio... Já pensou em desenvolver algumas ferramentas direcionadas
> para o departamento de cobrança de provedores de acesso?

não.
mas garanto que com a ajuda do sed dá pra fazer muita coisa
&:)

imagino que basicamente deva ser manipulação de texto, extraído
do arquivos de registros (log) não? o sed é uma mão na roda pra
isso.


--
s/:(/:)/;s/:(/:|/;s/:(/>(/,http://www.conectiva.com.br/~aurelio
${linux/mouse/},ctrl+a],http://www.brasmidia.com/dumbs<esc>:wq

#127 De: aurelio marinho jargas <aurelio@...>
Data: Qui, 2 de Mar de 2000 1:16 am
Assunto: Re: Help básico :) (aprendendo sobre o N)
aurelio@...
Enviar e-mail Enviar e-mail
 
@ 29/2, Marcelo Subtil Marcal:

> ===========================8<--------------------------
> ]
> UWVS
> ]
> UWVS
> qwasdd
> asdasasd
> ]
> asdasdas
> UWV
> ]
> dasdaasd
> ssdaasd
> asdas
> ]
> Linha de interesse
> Linha de interesse
> Linha de interesse
> Linha de interesse
> Linha de interesse
> ===========================8<--------------------------
>
> Estou precisando apagar do começo do arquivo até o ÚLTIMO "]".
>
> Alguém tem uma dica?

de básico só o assunto &:)
ontem dei uma tentada mas não estava muito inspirado  peguei um
caminho muito difícil e não me acertei. hoje, com o ventilador na
cara, tentei outra abordagem e de cara funcionou:

([~] é o prompt)

[~] cat tst
]
linha2
]
linha4
]
linha interessante
linha interessante 2
[~] cat tst | sed '/./{:loop;/.*\n]/d;$!N;$!b loop;}'
linha interessante
linha interessante 2


vamos a análise tradicional. eu fiz um loop para o arquivo
inteiro, ele vai sempre grudando a próxima linha com a atual
(N) e quando acha um ], apaga tudo. como no último trecho de
texto não há um ] no final, ele não apaga. tem um problema que
não cortaria o ] caso este seja apenas 1, na primeira linha do
arquivo, mas isso é só por um 1{/]/d;} no meio.


/./{         # em todas as linhas não vazias "/./" faça
:loop        # marque o loop aqui
/.*\n]/d     # delete (delete!=apague) qualquer coisa que termine
              # por uma quebra de linha seguida de um ]
$!N          # grude a próxima linha A NÃO SER "!" que estejamos
              # já na última linha do arquivo "$"
$!b loop     # volte para a marca "loop" A NÃO SER "!" que
              # estejamos na última linha do arquivo
}            # fim

detalhe: lembre-se que quando usamos o N, ao grudar a linha seguinte, ambas
são separadas por um \n, que pode ser casado na ER. esta é única maneira
(usando o N) de se casar mais de uma linha.

tipo, preciso apagar duas linhas, sempre que vier macaco numa linha e
avestruz na linha seguinte:

/macaco/{
N
/macaco\navestruz/d
}

ou seja, na linha que vc achar "macaco", execute o N para grudar a proxima
linha, e se você achar um "macaco+\n+avestruz", apague esta linha (que na
verdade são as duas linhas grudadas).



--
s/:(/:)/;s/:(/:|/;s/:(/>(/,http://www.conectiva.com.br/~aurelio
${linux/mouse/},ctrl+a],http://www.brasmidia.com/dumbs<esc>:wq

#128 De: aurelio marinho jargas <aurelio@...>
Data: Qui, 2 de Mar de 2000 2:30 am
Assunto: Re: troca de caracter
aurelio@...
Enviar e-mail Enviar e-mail
 
olá marco

@ 29/2, Marco:
> Tenho uma script onde tenho variaveis de usernames determinadas assim:
> lista=`w | cut -b 1-8`

dica: o cut além de aceitar como parâmetro o -b para dizer quais
CARACTERES cortar, ele também tem o -d, para dizer qual
DELIMITADOR utilizar, e definido o delimitar, você diz quais
CAMPOS você quer.

então sua variável poderia ser

lista=`w | cut -d' ' -f1`

ou seja, você diz:
"aí cut, usando o espaço como delimitador, me dê o campo 1"


> Solução: Como faço pelo sed para trocar o primeiro caracter "espaço" até o
> último por nenhum e assim ao comparar no arquivo de dados o script conseguir
> encontrar o username exato?

como bem disse o roberto jung, o sed 's/ //g' cortaria esses
espaços (troque qualquer ocorrência de espaço em branco por
nada).

aí é opcional, ou usar o cut -d ou usar o cut -b | sed e isso é o
bom do unix/linux, várias maneiras de se fazer a mesma coisa.
&:)

--
s/:(/:)/;s/:(/:|/;s/:(/>(/,http://www.conectiva.com.br/~aurelio
${linux/mouse/},ctrl+a],http://www.brasmidia.com/dumbs<esc>:wq

#129 De: Roberto Jung Drebes <drebes@...>
Data: Qui, 2 de Mar de 2000 2:35 am
Assunto: Sed & Awk?
drebes@...
Enviar e-mail Enviar e-mail
 
Alguém tem uma opinião sobre aquele livro "Sed & Awk" da O'Reilly?
Pra quem não sabe quase nada dos dois, presta? Nossa biblio não tem, e
estou pensando em comprar, mas queria uma opinião antes..

[]s

--
Roberto Jung Drebes <drebes@...>
Porto Alegre, RS - Brasil
http://www.inf.ufrgs.br/~drebes/

#130 De: aurelio marinho jargas <aurelio@...>
Data: Qui, 2 de Mar de 2000 2:38 am
Assunto: Re: Substituir colunas
aurelio@...
Enviar e-mail Enviar e-mail
 
> From: Alex Palombo <palombo@...>
> Olá a todos, me inscrevi hoje nesta lista e fiquei muito feliz dando
> uma olhada nas mensagens passadas, resolvem muitos dos meus problemas.
> Parabens a todos.

legal, fico feliz em saber! &:)

> A minha duvida é a seguinte: como substituo colunas com o sed?
> Por exemplo : Gostaria de deletar as primeiras 10 colunas de todas as
> linhas um arquivo. COmo faço? Ou senão, ao invés de deletar, substituir
> estas dez colunas por um ´-´. Existem comandos que fazem isso mais
> facilmente? Perdoem minha ´leiguice´...

não peça perdão cara, estamos todos aqui para aprender.
se fosse uma lista apenas de "sabe-tudo" não tinha o que discutir
&:)


@ 1/3, Marco:
> sed "s/^..........//" arquivo1 > arquivo2

perfeito marco.

só pra complementar, caso o pedido fossem por exemplo 30 colunas,
ia ficar chato contar os pontinhos, então tem outra notação
também:

sed 's/^.\{30\}//'

que é na verdade {30} pra indicar a entidade imediatamente
anterior (o ponto) 30 vezes. só precisa escapar com a barra
invertida as duas chaves por motivos históricos, pois em versões
anteriores do sed chaves eram apenas chaves, então precisam ser
escapadas para terem significado especial.

mais uma vez, duas maneiras diferentes de se fazer a mesma coisa
&:)


--
s/:(/:)/;s/:(/:|/;s/:(/>(/,http://www.conectiva.com.br/~aurelio
${linux/mouse/},ctrl+a],http://www.brasmidia.com/dumbs<esc>:wq

#131 De: aurelio marinho jargas <aurelio@...>
Data: Qui, 2 de Mar de 2000 2:47 am
Assunto: Re: Sed & Awk?
aurelio@...
Enviar e-mail Enviar e-mail
 
@ 1/3, Roberto Jung Drebes:
> Alguém tem uma opinião sobre aquele livro "Sed & Awk" da O'Reilly?
> Pra quem não sabe quase nada dos dois, presta? Nossa biblio não tem, e
> estou pensando em comprar, mas queria uma opinião antes..

olha roberto,

esse eu nunca li. o que eu li foi o "sed & awk pocket
reference" que é aquele livrinho de bolso, baseado no grandão.

não dá pra tomar muito como base, mas pelo menos na parte de sed,
o sed que eles demostram no livro é meio antigo, tem muitas
limitações comentadas no livro que no sed da GNU, (o que vem com
todas as distribuições de linux) não tem, então fica meio
estranho.

mas de qualquer forma, sobre sed é o único livro que existe
mesmo, e por mais desatualizado que seja, os conceitos base estão
lá. &:)

um livro que é MUITO bom e eu aconselho todo mundo que já começou
a usar expressões regulares a ler, é a bíblia:

"mastering regular expressions" jeffrey friedl, o'reilly

http://enterprise.ic.gc.ca/cgi-bin/j-e/jfriedl.html

tipo, pra quem NUNCA viu expressões regulares acho que não é de
grande valia devido à complexidade, mas pra quem já usa um pouco
de ERs (mesmo que pouca coisa) é interessante para olhá-las de
outra maneira, realmente entender como as coisas funcionam. é a
luz. &:)

pena que só tem em inglês. aqui na conectiva vamos traduzir uma
série de livros da o'reilly, é pena que ERs não seja um assunto
'rentável', pois eu gostaria muito de vê-lo em português.


--
s/:(/:)/;s/:(/:|/;s/:(/>(/,http://www.conectiva.com.br/~aurelio
${linux/mouse/},ctrl+a],http://www.brasmidia.com/dumbs<esc>:wq

#132 De: Roberto Jung Drebes <drebes@...>
Data: Qui, 2 de Mar de 2000 3:11 am
Assunto: Re: Sed & Awk?
drebes@...
Enviar e-mail Enviar e-mail
 
On Wed, 1 Mar 2000, aurelio marinho jargas wrote:

sed faz parte do POSIX? Talvez ele mostre o sed POSIX. Se for assim, vale
a pena aprender ele em vez do GNU sed. (eu não sou *super* fã do GNU, por
exemplo, experimenta usar um script "out-of-the-box" pra linux em um
BSD..)

> "mastering regular expressions" jeffrey friedl, o'reilly

Já tinha pensado nesse também. Agora tá anotado. No próximo pedido vem um
:)

> pena que só tem em inglês. aqui na conectiva vamos traduzir uma
> série de livros da o'reilly, é pena que ERs não seja um assunto
> 'rentável', pois eu gostaria muito de vê-lo em português.

Falando em tradução, qual não foi minha surpresa ao ver na Siciliano o
"Linux Device Drivers", do Rubini, em português. Me emocionou, até a capa
era igual. Eu lembrei de quando baixei minha primeira slack, A series.
Bah, quanta coisa mudou.. Pelo menos não chamaram de "Controladores de
Dispositivo Linux" :). Ainda acho que "tradução, traição", mas mesmo assim
o pessoal que está fazendo isso merece nosso reconhecimento ;)

Mas aí já estou indo off-topic de mais. Foi mal.

[]s

--
Roberto Jung Drebes <drebes@...>
Porto Alegre, RS - Brasil
http://www.inf.ufrgs.br/~drebes/

#133 De: Gustavo Niemeyer <gustavo@...>
Data: Qui, 2 de Mar de 2000 4:35 am
Assunto: Re: Sed & Awk?
gustavo@...
Enviar e-mail Enviar e-mail
 
Olá Roberto!

> sed faz parte do POSIX? Talvez ele mostre o sed POSIX. Se for assim, vale
> a pena aprender ele em vez do GNU sed. (eu não sou *super* fã do GNU, por
> exemplo, experimenta usar um script "out-of-the-box" pra linux em um
> BSD..)

Hummm... creio que não faça parte não. O sed é um software e não uma função.
POSIX padroniza as funções que o software utiliza para ser desenvolvido e
não a interface que este oferece para o usuário. Existe um texto interessante
sobre POSIX em http://www.knosof.co.uk/poschk.html.

Quanto a questão do GNU, não concordo totalmente com você. Acredito que desde
que você siga todas as características de uma função padronizada (ou software,
no caso), as implementações são bem vindas se bem documentadas (o que
geralmente ocorre nos manuais GNU). Inclusive, em muitos casos, estas
implementações acabam entrando nas padronizações.

> Falando em tradução, qual não foi minha surpresa ao ver na Siciliano o
> "Linux Device Drivers", do Rubini, em português. Me emocionou, até a capa
> era igual. Eu lembrei de quando baixei minha primeira slack, A series.
> Bah, quanta coisa mudou.. Pelo menos não chamaram de "Controladores de
> Dispositivo Linux" :). Ainda acho que "tradução, traição", mas mesmo assim
> o pessoal que está fazendo isso merece nosso reconhecimento ;)

Puxa, estava discutindo com um conhecido o caso desse livro e das traduções
ainda hoje. Concordo plenamente com você. Já vi casos ocorrerem onde a
pessoa lê um livro em português e infrenta uma grande dificuldade de
aplicar os conhecimentos do livro por diferenças de terminologia. Hoje,
por exemplo, eu ouvi o termo "tempo de seek" para HD's. IMHO... TERRÍVEL! :)

Grande abraço!

--
Gustavo Niemeyer
Niemeyer Network
Soluções em alta tecnologia
http://thequiz.nn.com.br

#134 De: Roberto Jung Drebes <drebes@...>
Data: Qui, 2 de Mar de 2000 4:40 pm
Assunto: Re: Sed & Awk?
drebes@...
Enviar e-mail Enviar e-mail
 
On Thu, 2 Mar 2000, Gustavo Niemeyer wrote:

> Hummm... creio que não faça parte não. O sed é um software e não uma função.
> POSIX padroniza as funções que o software utiliza para ser desenvolvido e
> não a interface que este oferece para o usuário. Existe um texto interessante
> sobre POSIX em http://www.knosof.co.uk/poschk.html.

Na verdade tem varios niveis de POSIX. Em um nivel tem as aplicacoes, por
exemplo, quais sao os parametros para o "ls", etc (geralmente
opcoes que comecam com -- sao POSIX). Software GNU geralmente
se comporta como POSIX se tiver uma variavel "POSIXLY_CORRECT", ou mais
ainda, "POSIXME_HARDER" :)

Depois fui la no site da O'Reilly pra olhar o livro, e segundo o que diz
la, o sed e o awk usado no livro sao POSIX, com um apendice pras versoes
GNU.

> Quanto a questão do GNU, não concordo totalmente com você. Acredito que desde
> que você siga todas as características de uma função padronizada (ou software,
> no caso), as implementações são bem vindas se bem documentadas (o que
> geralmente ocorre nos manuais GNU). Inclusive, em muitos casos, estas
> implementações acabam entrando nas padronizações.

Nao existe so software GNU, mesmo no mundo de software livre. Eh verdade
que o software GNU eh o mais difundido no mundo de software livre, mas nao
eh o unico.

> Puxa, estava discutindo com um conhecido o caso desse livro e das traduções
> ainda hoje. Concordo plenamente com você. Já vi casos ocorrerem onde a
> pessoa lê um livro em português e infrenta uma grande dificuldade de
> aplicar os conhecimentos do livro por diferenças de terminologia. Hoje,
> por exemplo, eu ouvi o termo "tempo de seek" para HD's. IMHO... TERRÍVEL! :)

:)

> Gustavo Niemeyer

Tu nao usavas BBSs?

--
Roberto Jung Drebes <drebes@...>
Porto Alegre, RS - Brasil
http://www.inf.ufrgs.br/~drebes/

#135 De: Gustavo Niemeyer <gustavo@...>
Data: Qui, 2 de Mar de 2000 7:59 pm
Assunto: Re: Sed & Awk?
gustavo@...
Enviar e-mail Enviar e-mail
 
Fala Roberto!

> Na verdade tem varios niveis de POSIX. Em um nivel tem as aplicacoes, por
> exemplo, quais sao os parametros para o "ls", etc (geralmente
> opcoes que comecam com -- sao POSIX). Software GNU geralmente
> se comporta como POSIX se tiver uma variavel "POSIXLY_CORRECT", ou mais
> ainda, "POSIXME_HARDER" :)

Hummm, interessante, vou dar uma olhada!

> Nao existe so software GNU, mesmo no mundo de software livre. Eh verdade
> que o software GNU eh o mais difundido no mundo de software livre, mas nao
> eh o unico.

Ué!?!? E quem foi que disse isso!?!?!? :-))) Eu só defendi as implementações
além da padronização, desde que bem documentadas.

> Tu nao usavas BBSs?

Usava sim... eu era do tempo da MasterNet... lembra!? :-)

Abraços!

--
Gustavo Niemeyer
Niemeyer Network
Soluções em alta tecnologia
http://thequiz.nn.com.br

#136 De: "Marco" <mac_bos@...>
Data: Sex, 3 de Mar de 2000 7:46 pm
Assunto: Re: dos2unix
mac_bos@...
Enviar e-mail Enviar e-mail
 
Se vc quer retirar o ^M do final dos arquivos basta dar o comando sed
"s/.$//" arquivo > arquivo.new

[]'s

Marco
----- Original Message -----
From: Ademar de Souza Reis Jr. <ademarjr@...>
To: sed-br Mailing List <sed-br@egroups.com>
Sent: Tuesday, February 08, 2000 1:55 PM
Subject: [sed-br] dos2unix


>
> Hi all.
>
> Utilizo o dos2unix no debian 2.1 e não o encontrei no CL 4.
>
> O dos2unix é um programa que retira os ^M inúteis dos arquivos texto do
> DOS.
>
> Criei então um script pra fazer isso, mas ele tá meio "burro", pq
> simplesmente troca o último caracter de cada linha por nada. Usei a
> seguinte linha do sed:
>
> sed -e 's/.$//'
>
> A pergunta é como fazer o sed alterar o último caracter somente se este
> for um ^M do DOS?
>
> Meu script não sabe se o arquivo é ascii ou não... O sed faz esse tipo de
> coisa tbm? Algo como ignorar se o arquivo for binário...
>
> Valeu.
>
> [ademar@optimus tmp]$ cat burro.sh
> #!/bin/bash
> dos2unix ()
> {
>     if ! [ "$1" ]; then
>         aux=.;
>     else
>         aux="$1";
>     fi;
>     for arq in "$aux"/*;
>     do
>         if ! [ -L "$arq" ]; then
>             if [ -d "$arq" ]; then
>                 dos2unix "$arq";
>             else
>                 if [ -f "$arq" ]; then
>                     echo "$arq";
>                     cat "$arq" | sed -e 's/.$//' > lixo;
>                     mv -f lixo "$arq";
>                 fi;
>             fi;
>         fi;
>     done
> };
>
> dos2unix
> [ademar@optimus tmp]$
>
> []'s
> ================================================
> Ademar de Souza Reis Jr. - ademar@...
> http://members.xoom.com/ademarjr
> Estudante de Informatica / Bolsista PET - UFPR
> Registered Linux User #71790
> Curitiba - PR - Brasil
>
> --
> Windows 2000 - The Millennium BUG
>
>
>
> ------------------------------------------------------------------------
> Shop for your Valentine at eGroups!
> http://click.egroups.com/1/1157/5/_/161736/_/950028926/
>
> -- Create a poll/survey for your group!
> -- http://www.egroups.com/vote?listname=sed-br&m=1
>
>

#137 De: Eliphas Levy Theodoro <eliphas@...>
Data: Sex, 3 de Mar de 2000 7:18 pm
Assunto: Re: dos2unix
eliphas@...
Enviar e-mail Enviar e-mail
 
olas marco,

essa expressão regular não é a correta. mesmo assim, funciona - para um
arquivo que TENHA em todas as linhas o ^M no final.

s/         - substitua
.$         - QUALQUER caractere seguido do fim da linha
//         - por nada.

no caso, você não quer que ele apague qualquer caractere, e sim sempre um
^M.

então:

s/         - substitua
^M$        - o maldito ^M
//         - por nada

Veja que ^M é uma representação do <ENTER>, como o ^H é o backspace e um
^I é um <TAB>. Você pode pegar a representação de qualquer tecla
utilizando um CTRL+V antes, e depois teclar <ENTER>. Ou, CTRL+V e depois
CTRL+M. Mesmo efeito.

Falou?

Respondendo uma outra pergunta do ademar, você pode usar o `file' pra
saber se o arquivo é binário ou não.

Algo como:

if `file $ARQ | grep -qs "ASCII\|text"`; then
	 cat $ARQ |
	 sed 's/^M$//' > $ARQ.bkp &&
	 mv $ARQ.bkp $ARQ
fi


Marco, @ 16:46:

> Se vc quer retirar o ^M do final dos arquivos basta dar o comando sed
> "s/.$//" arquivo > arquivo.new
>
> []'s
>
> Marco
> ----- Original Message -----
> From: Ademar de Souza Reis Jr. <ademarjr@...>
> To: sed-br Mailing List <sed-br@egroups.com>
> Sent: Tuesday, February 08, 2000 1:55 PM
> Subject: [sed-br] dos2unix
>
>
> >
> > Hi all.
> >
> > Utilizo o dos2unix no debian 2.1 e não o encontrei no CL 4.
> >
> > O dos2unix é um programa que retira os ^M inúteis dos arquivos texto do
> > DOS.
> >
> > Criei então um script pra fazer isso, mas ele tá meio "burro", pq
> > simplesmente troca o último caracter de cada linha por nada. Usei a
> > seguinte linha do sed:
> >
> > sed -e 's/.$//'
> >
> > A pergunta é como fazer o sed alterar o último caracter somente se este
> > for um ^M do DOS?
> >
> > Meu script não sabe se o arquivo é ascii ou não... O sed faz esse tipo de
> > coisa tbm? Algo como ignorar se o arquivo for binário...
> >
> > Valeu.
> >
> > [ademar@optimus tmp]$ cat burro.sh
> > #!/bin/bash
> > dos2unix ()
> > {
> >     if ! [ "$1" ]; then
> >         aux=.;
> >     else
> >         aux="$1";
> >     fi;
> >     for arq in "$aux"/*;
> >     do
> >         if ! [ -L "$arq" ]; then
> >             if [ -d "$arq" ]; then
> >                 dos2unix "$arq";
> >             else
> >                 if [ -f "$arq" ]; then
> >                     echo "$arq";
> >                     cat "$arq" | sed -e 's/.$//' > lixo;
> >                     mv -f lixo "$arq";
> >                 fi;
> >             fi;
> >         fi;
> >     done
> > };
> >
> > dos2unix
> > [ademar@optimus tmp]$
> >
> > []'s
> > ================================================
> > Ademar de Souza Reis Jr. - ademar@...
> > http://members.xoom.com/ademarjr
> > Estudante de Informatica / Bolsista PET - UFPR
> > Registered Linux User #71790
> > Curitiba - PR - Brasil
> >
> > --
> > Windows 2000 - The Millennium BUG
> >
> >
> >
> > ------------------------------------------------------------------------
> > Shop for your Valentine at eGroups!
> > http://click.egroups.com/1/1157/5/_/161736/_/950028926/
> >
> > -- Create a poll/survey for your group!
> > -- http://www.egroups.com/vote?listname=sed-br&m=1
> >
> >
>
>
> ------------------------------------------------------------------------
> Planning a party? iParty.com is your complete source for party planning and
> supplies, with everything you need to throw the perfect party!
> http://click.egroups.com/1/1635/5/_/161736/_/952109202/
>
> -- Easily schedule meetings and events using the group calendar!
> -- http://www.egroups.com/cal?listname=sed-br&m=1
>
>

--
Conectiva - Theodoro, Eliphas Levy | \
sed 's/\([A-z]*\) - \([A-z]*,\) \([A-z]*\) \([A-z]*\)/\3 \4 \2 \1/'
A conclusion is simply the place where someone got tired of thinking.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCM/U d--- s:- a23 C+++ UL+++$ P+>$ L++> E--- W- N- !o !K w--- O- M- V?
PS+ PE Y-- PGP t+ 5+ X+ R+ tv- b DI+ D+++ G e-- h+ r- y+
------END GEEK CODE BLOCK------

#138 De: "Marco" <mac_bos@...>
Data: Sex, 3 de Mar de 2000 11:25 pm
Assunto: Troca de caratcter nº x por y
mac_bos@...
Enviar e-mail Enviar e-mail
 
Olá a todos,

Tenho um arquivo de banco de dados testificado do windows e preciso sempre
fazer atualização para os aplicativos do linux. toda base de dados fica em
campos fixos e sem um caracter delimitador.
Forma do arquivo:
Campo nome do usuario                    Campo fone1     Campo fone2
Campo fone3   Campo fone4        Campo user
NOME DO USUARIO                    016 636-55-11  016  441-55-54
632-56-42      016  622-5644      username
NOME DO USUARIO                                              016  441-55-54
016  632-56-42                                    username
NOME DO USUARIO                    016 636-55-11          441-55-54
632-56-42                                    username
NOME DO USUARIO                    016 636-55-11  016  441-55-54
632-56-42                                    username
NOME DO USUARIO                    016 636-55-11  016  441-55-54
632-56-42                                    username
NOME DO USUARIO                    016 636-55-11  016
632-56-42                                    username
NOME DO USUARIO                    016 636-55-11  016  441-55-54
632-56-42                                    username


Os dados nem sempre são completos. Mas o cut resolver este problema. O que
de fato eu preciso é trocar por exemplo o caracter na posição (ex) 50, 64,
111 por um caracter que seja delimitador tipo ":" para que eu tenha com um
cut -d : -f 1 o campo nome, com o cut -d : -f 2 o fone1 ...
Bom, era isso pessoal...

[]'s

Marco

ps... Este grupo tem colaborado muito!!

#139 De: Eliphas Levy Theodoro <eliphas@...>
Data: Seg, 6 de Mar de 2000 5:08 pm
Assunto: Re: Troca de caratcter nº x por y
eliphas@...
Enviar e-mail Enviar e-mail
 
Marco, @ 03/03/00 - 20:25:

> Olá a todos,
>
> Tenho um arquivo de banco de dados testificado do windows e preciso sempre
> fazer atualização para os aplicativos do linux. toda base de dados fica em
> campos fixos e sem um caracter delimitador.
> Forma do arquivo:
> Campo nome do usuario                    Campo fone1     Campo fone2
> Campo fone3   Campo fone4        Campo user
> NOME DO USUARIO                    016 636-55-11  016  441-55-54
> 632-56-42      016  622-5644      username
> NOME DO USUARIO                                              016  441-55-54
> 016  632-56-42                                    username
> NOME DO USUARIO                    016 636-55-11          441-55-54
> 632-56-42                                    username
> NOME DO USUARIO                    016 636-55-11  016  441-55-54
> 632-56-42                                    username
> NOME DO USUARIO                    016 636-55-11  016  441-55-54
> 632-56-42                                    username
> NOME DO USUARIO                    016 636-55-11  016
> 632-56-42                                    username
> NOME DO USUARIO                    016 636-55-11  016  441-55-54
> 632-56-42                                    username
>
>
> Os dados nem sempre são completos. Mas o cut resolver este problema. O que
> de fato eu preciso é trocar por exemplo o caracter na posição (ex) 50, 64,
> 111 por um caracter que seja delimitador tipo ":" para que eu tenha com um
> cut -d : -f 1 o campo nome, com o cut -d : -f 2 o fone1 ...
> Bom, era isso pessoal...

Acho que vai ter algo melhor do que isso, mas é a única maneira que me vem à
mente agora:

's/^\(.\{9\}\)./\1:/'

s        troque
/        delimitador
^        linhas começando com os caracteres a seguir
\(       começa buffer
.        qualquer caracter (ponto)
\{9\}    aumenta a "potência" do caracter anterior em 9 vezes
\)       fecha buffer
.        qualquer caracter
/        delimitador
\1       retorna o buffer 1
:        ...
/        delimitador

Em português:
"troque em todas as linhas que comecem com 10 caracteres quaisquer, mantendo
os nove primeiros caracteres em um buffer, pelo próprio buffer mais dois
pontos."

nisso você vai trocar o décimo caracter (qualquer que ele seja) por dois
pontos.

sed you later,
--
Conectiva - Theodoro, Eliphas Levy | \
sed 's/\([A-z]*\) - \([A-z]*,\) \([A-z]*\) \([A-z]*\)/\3 \4 \2 \1/'
A conclusion is simply the place where someone got tired of thinking.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCM/U d--- s:- a23 C+++ UL+++$ P+>$ L++> E--- W- N- !o !K w--- O- M- V?
PS+ PE Y-- PGP t+ 5+ X+ R+ tv- b DI+ D+++ G e-- h+ r- y+
------END GEEK CODE BLOCK------

#140 De: "Marco" <mac_bos@...>
Data: Seg, 6 de Mar de 2000 11:12 pm
Assunto: Re: Re: Troca de caratcter nº x por y
mac_bos@...
Enviar e-mail Enviar e-mail
 
Opá!!

Valeu Eliphas...
Acrentei algo no final pra retirar os espaços do arquivo e deixa-lo menor.

sed ':a;s/  //g;ta'


deixa-me ver se fiz tudo certo:

:a    Marca o lop
s/  / Troca todas as ocorrencias por nada
/g;ta' pula para a marca a se ocorreu alguma ocorrência..


[]'s

Marco

----- Original Message -----
From: Eliphas Levy Theodoro <eliphas@...>
To: sed <sed-br@egroups.com>
Sent: Monday, March 06, 2000 2:08 PM
Subject: [sed-br] Re: Troca de caratcter nº x por y


> Marco, @ 03/03/00 - 20:25:
>
> > Olá a todos,
> >
> > Tenho um arquivo de banco de dados testificado do windows e preciso
sempre
> > fazer atualização para os aplicativos do linux. toda base de dados fica
em
> > campos fixos e sem um caracter delimitador.
> > Forma do arquivo:
> > Campo nome do usuario                    Campo fone1     Campo fone2
> > Campo fone3   Campo fone4        Campo user
> > NOME DO USUARIO                    016 636-55-11  016  441-55-54
> > 632-56-42      016  622-5644      username
> > NOME DO USUARIO                                              016
441-55-54
> > 016  632-56-42                                    username
> > NOME DO USUARIO                    016 636-55-11          441-55-54
> > 632-56-42                                    username
> > NOME DO USUARIO                    016 636-55-11  016  441-55-54
> > 632-56-42                                    username
> > NOME DO USUARIO                    016 636-55-11  016  441-55-54
> > 632-56-42                                    username
> > NOME DO USUARIO                    016 636-55-11  016
> > 632-56-42                                    username
> > NOME DO USUARIO                    016 636-55-11  016  441-55-54
> > 632-56-42                                    username
> >
> >
> > Os dados nem sempre são completos. Mas o cut resolver este problema. O
que
> > de fato eu preciso é trocar por exemplo o caracter na posição (ex) 50,
64,
> > 111 por um caracter que seja delimitador tipo ":" para que eu tenha com
um
> > cut -d : -f 1 o campo nome, com o cut -d : -f 2 o fone1 ...
> > Bom, era isso pessoal...
>
> Acho que vai ter algo melhor do que isso, mas é a única maneira que me vem
à
> mente agora:
>
> 's/^\(.\{9\}\)./\1:/'
>
> s        troque
> /        delimitador
> ^        linhas começando com os caracteres a seguir
> \(       começa buffer
> .        qualquer caracter (ponto)
> \{9\}    aumenta a "potência" do caracter anterior em 9 vezes
> \)       fecha buffer
> .        qualquer caracter
> /        delimitador
> \1       retorna o buffer 1
> :        ...
> /        delimitador
>
> Em português:
> "troque em todas as linhas que comecem com 10 caracteres quaisquer,
mantendo
> os nove primeiros caracteres em um buffer, pelo próprio buffer mais dois
> pontos."
>
> nisso você vai trocar o décimo caracter (qualquer que ele seja) por dois
> pontos.
>
> sed you later,
> --
> Conectiva - Theodoro, Eliphas Levy | \
> sed 's/\([A-z]*\) - \([A-z]*,\) \([A-z]*\) \([A-z]*\)/\3 \4 \2 \1/'
> A conclusion is simply the place where someone got tired of thinking.
> -----BEGIN GEEK CODE BLOCK-----
> Version: 3.12
> GCM/U d--- s:- a23 C+++ UL+++$ P+>$ L++> E--- W- N- !o !K w--- O- M- V?
> PS+ PE Y-- PGP t+ 5+ X+ R+ tv- b DI+ D+++ G e-- h+ r- y+
> ------END GEEK CODE BLOCK------
>
>
> ------------------------------------------------------------------------
> Planning a party? iParty.com is your complete source for party planning
and
> supplies, with everything you need to throw the perfect party!
> http://click.egroups.com/1/1635/5/_/161736/_/952362541/
>
> -- Create a poll/survey for your group!
> -- http://www.egroups.com/vote?listname=sed-br&m=1
>
>

#141 De: "Marco" <mac_bos@...>
Data: Ter, 21 de Mar de 2000 7:18 pm
Assunto: chmod através de CGI-BASH
mac_bos@...
Enviar e-mail Enviar e-mail
 
Olá a todos,

to com umn pequeno problema, o comando chmod não roda em um CGI-BASH, alguém
tem alguma solução?

[]'s

Marco

#142 De: Eliphas Levy Theodoro <eliphas@...>
Data: Ter, 21 de Mar de 2000 7:32 pm
Assunto: Re: chmod através de CGI-BASH
eliphas@...
Enviar e-mail Enviar e-mail
 
Marco, @ 16:18:

> Olá a todos,
>
> to com umn pequeno problema, o comando chmod não roda em um CGI-BASH, alguém
> tem alguma solução?

Hmm nunca precisei fazer um cgi... mas é esquisito isso. Sera que você
está dentro de um chroot?

Um 'umask' antes não rola?


sed you later,
--
Conectiva - Theodoro, Eliphas Levy | \
sed 's/\([A-z]*\) - \([A-z]*,\) \([A-z]*\) \([A-z]*\)/\3 \4 \2 \1/'
A conclusion is simply the place where someone got tired of thinking.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCM/U d--- s:- a23 C+++ UL+++$ P+>$ L++> E--- W- N- !o !K w--- O- M- V?
PS+ PE Y-- PGP t+ 5+ X+ R+ tv- b DI+ D+++ G e-- h+ r- y+
------END GEEK CODE BLOCK------

#143 De: "Marco" <mac_bos@...>
Data: Ter, 21 de Mar de 2000 9:05 pm
Assunto: Re: Re: chmod através de CGI-BASH
mac_bos@...
Enviar e-mail Enviar e-mail
 
Olá Eliphas,

O CGI conta a quantidade de e-mails diretamente no arquivo de e-mail do
usuário portanto não estou em um chroot. A  /var/spool/mail tem atrubutos
classificados em 600 e com atributos 604 eu consigo ler as linhas
correspondentes ao cabeçalho e assim contar a quantidade de e-mails na conta
expecificada. Mais, o cgi retorna somente uma variável referente ao número
de e-mails do usuário além do username (este capturado em uma condição para
usuários internos de nossa rede internet através da variável REMOTE_ADDR e
conferindo com 'who') onde os dados retornam em uma janela do browser do
usuário com os dados solicitados do servidor. Bom, tem mais alguns detalhes
no CGI mas acho que iria me estender muito. O grande problema está sendo
justamente ler o arquivo de e-mail e usar o chmod para o arquivo e
retorna-lo também com um chmod ao seu estado natural após fazer a
conferência.

#144 De: Eliphas Levy Theodoro <eliphas@...>
Data: Ter, 21 de Mar de 2000 9:20 pm
Assunto: Re: chmod através de CGI-BASH
eliphas@...
Enviar e-mail Enviar e-mail
 
Marco, @ 18:05:

> Olá Eliphas,
>
> O CGI conta a quantidade de e-mails diretamente no arquivo de e-mail do
> usuário portanto não estou em um chroot. A  /var/spool/mail tem atrubutos
> classificados em 600 e com atributos 604 eu consigo ler as linhas
> correspondentes ao cabeçalho e assim contar a quantidade de e-mails na conta
> expecificada. Mais, o cgi retorna somente uma variável referente ao número
> de e-mails do usuário além do username (este capturado em uma condição para
> usuários internos de nossa rede internet através da variável REMOTE_ADDR e
> conferindo com 'who') onde os dados retornam em uma janela do browser do
> usuário com os dados solicitados do servidor. Bom, tem mais alguns detalhes
> no CGI mas acho que iria me estender muito. O grande problema está sendo
> justamente ler o arquivo de e-mail e usar o chmod para o arquivo e
> retorna-lo também com um chmod ao seu estado natural após fazer a
> conferência.

o script é executado como nobody?  ele não tem permissão.
o script é executado como usuário? ideal. sem chmod.
o script é executado como root?    talvez furo de segurança...

teu problema então é:
fazer o script fazer um su - usuário (como? ...) e ler as informações;

fazer o script ser parte do grupo mail, assim ele poderia ler os mails.
o meu /var/spool/mail é 775, root:mail
e os arquivos são       660, user:mail

ainda não vi onde o sed se encaixa até aqui...


sed you later,
--
Conectiva - Theodoro, Eliphas Levy | \
sed 's/\([A-z]*\) - \([A-z]*,\) \([A-z]*\) \([A-z]*\)/\3 \4 \2 \1/'
A conclusion is simply the place where someone got tired of thinking.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCM/U d--- s:- a23 C+++ UL+++$ P+>$ L++> E--- W- N- !o !K w--- O- M- V?
PS+ PE Y-- PGP t+ 5+ X+ R+ tv- b DI+ D+++ G e-- h+ r- y+
------END GEEK CODE BLOCK------

#145 De: "Marco" <mac_bos@...>
Data: Ter, 21 de Mar de 2000 10:05 pm
Assunto: Re: Re: chmod através de CGI-BASH
mac_bos@...
Enviar e-mail Enviar e-mail
 
>
> o script é executado como nobody?  ele não tem permissão.
> o script é executado como usuário? ideal. sem chmod.
> o script é executado como root?    talvez furo de segurança...
>
> teu problema então é:
> fazer o script fazer um su - usuário (como? ...) e ler as informações;
>
> fazer o script ser parte do grupo mail, assim ele poderia ler os mails.
> o meu /var/spool/mail é 775, root:mail
> e os arquivos são       660, user:mail
>
> ainda não vi onde o sed se encaixa até aqui...


De fato o programa estava rodando como nobody. hehehe. quanto ao sed eu o
uso dentro do scipt para fazer algumas aplicações. Foi mal ter postado aqui
não é?! Mas tipo, agradeço a ajuda.

[]'s

Marco

#146 De: Gustavo Niemeyer <gustavo@...>
Data: Qua, 22 de Mar de 2000 3:04 am
Assunto: Re: chmod através de CGI-BASH
gustavo@...
Enviar e-mail Enviar e-mail
 
Olá Marco!

> to com umn pequeno problema, o comando
> chmod não roda em um CGI-BASH, alguém
> tem alguma solução?

Você poderia ser mais especifico quanto ao
problema!? Por exemplo, quais os atributos
do CGI, qual o owner, quais atributos/owner
atuais do arquivo a ser "chmodeado" (argh!)
e quais os novos atributos?

Alguns possíveis problemas:

1) Shell scripts não podem ter atributos de
setuid (na verdade podem, mas não funciona).

2) O Apache normalmente roda como o usuário
"nobody" então o arquivo a ter os atributos
modificados deve estar com os atributos rw
ligados para qualquer usuário.

Abraços!!

--
Gustavo Niemeyer
Niemeyer Network
http://thequiz.nn.com.br

#147 De: "Marco" <mac_bos@...>
Data: Qua, 22 de Mar de 2000 8:20 pm
Assunto: Re: Re: chmod através de CGI-BASH
mac_bos@...
Enviar e-mail Enviar e-mail
 
Olá Ricardo,

A aplicação que estou desenvolvendo é parte de nosso progeto para nossa
index.
o camando que não esta rodando (que conta a quantidade de e-mails do
usuário) é :
quantidade=`cat /var/spool/mail/$username | grep "From " | grep ":" | grep
"$ano" | wc -l | sed 's/ //g'`
a variável ano eu determino através do comando date '+%Y' e o username eu
pego pela variável REMOTE_ADDR e faço a consulta desta meneira:
linha= `ps | grep $REMOTE_ADDR | grep "dip" | cut -b7-9`
username=`who | grep $linha | cut -b 1-8 | sed 's/ //g`
Tenho assim determinado o username e até ai passa.
Como o owner da /var/spool/mail é o root não estou conseguindo rodar o
comando. Pensei na possibilidade de fazer um arquivo temporário do tipo
banco de dados rodando no crontab mas assim eu não teria dados atualizados
em tempo real (no momento da consulta) e estaria consumindo um percentual da
minha maquina as vezes sem necessidade.
Os valor retornados na variavel quantidade sempre são "0" pela
impossibilidade de executar o arquivo.

[]'s


Marco
----- Original Message -----
From: Gustavo Niemeyer <gustavo@...>
To: <sed-br@egroups.com>
Sent: Wednesday, March 22, 2000 12:04 AM
Subject: [sed-br] Re: chmod através de CGI-BASH


>
> Olá Marco!
>
> > to com umn pequeno problema, o comando
> > chmod não roda em um CGI-BASH, alguém
> > tem alguma solução?
>
> Você poderia ser mais especifico quanto ao
> problema!? Por exemplo, quais os atributos
> do CGI, qual o owner, quais atributos/owner
> atuais do arquivo a ser "chmodeado" (argh!)
> e quais os novos atributos?
>
> Alguns possíveis problemas:
>
> 1) Shell scripts não podem ter atributos de
> setuid (na verdade podem, mas não funciona).
>
> 2) O Apache normalmente roda como o usuário
> "nobody" então o arquivo a ter os atributos
> modificados deve estar com os atributos rw
> ligados para qualquer usuário.
>
> Abraços!!
>
> --
> Gustavo Niemeyer
> Niemeyer Network
> http://thequiz.nn.com.br
>
> ------------------------------------------------------------------------
> You have a voice mail message waiting for you at iHello.com:
> http://click.egroups.com/1/2377/7/_/161736/_/953694323/
>
> eGroups.com Home: http://www.egroups.com/group/sed-br/
> http://www.egroups.com - Simplifying group communications
>
>

#148 De: Gustavo Niemeyer <gustavo@...>
Data: Qua, 22 de Mar de 2000 11:32 pm
Assunto: Re: chmod através de CGI-BASH
gustavo@...
Enviar e-mail Enviar e-mail
 
E ai Marco!?

> Olá Ricardo,

Bom, não sei de onde você tirou o "Ricardo",
mas tudo bem... :-)

> banco de dados rodando no crontab mas assim eu
> não teria dados atualizados em tempo real (no
> momento da consulta) e estaria consumindo um
> percentual da minha maquina as vezes sem necessidade.
> Os valor retornados na variavel quantidade sempre são
> "0" pela impossibilidade de executar o arquivo.

Uma solução extremamente simples para o seu problema é
criar um programinha em C que executasse os comandos que
você citou. Dessa forma, você poderia ligar o bit de
setuid dos atributos do arquivo e fazer com que ele seja
executado com as permissões de root. Só tome BASTANTE
cuidado com o que você está autorizando os usuários a
fazer com as permissões de root. As falhas de segurança
mais comuns vem daí.

PS. Claro, seria mais interessante se você fizesse TODO
o sistema em C, ao invés de utilizar programas secundários.

Abraços!

--
Gustavo Niemeyer

#149 De: "Marco" <mac_bos@...>
Data: Qua, 22 de Mar de 2000 11:48 pm
Assunto: Re: Re: chmod através deCGI-BASH
mac_bos@...
Enviar e-mail Enviar e-mail
 
Valeu ae Gustavo!!

Foi mal ae o Ricardo...

[]'s

Marco

----- Original Message -----
From: Gustavo Niemeyer <gustavo@...>
To: <sed-br@egroups.com>
Sent: Wednesday, March 22, 2000 8:32 PM
Subject: [sed-br] Re: chmod através deCGI-BASH


>
> E ai Marco!?
>
> > Olá Ricardo,
>
> Bom, não sei de onde você tirou o "Ricardo",
> mas tudo bem... :-)
>
> > banco de dados rodando no crontab mas assim eu
> > não teria dados atualizados em tempo real (no
> > momento da consulta) e estaria consumindo um
> > percentual da minha maquina as vezes sem necessidade.
> > Os valor retornados na variavel quantidade sempre são
> > "0" pela impossibilidade de executar o arquivo.
>
> Uma solução extremamente simples para o seu problema é
> criar um programinha em C que executasse os comandos que
> você citou. Dessa forma, você poderia ligar o bit de
> setuid dos atributos do arquivo e fazer com que ele seja
> executado com as permissões de root. Só tome BASTANTE
> cuidado com o que você está autorizando os usuários a
> fazer com as permissões de root. As falhas de segurança
> mais comuns vem daí.
>
> PS. Claro, seria mais interessante se você fizesse TODO
> o sistema em C, ao invés de utilizar programas secundários.
>
> Abraços!
>
> --
> Gustavo Niemeyer
>
> ------------------------------------------------------------------------
> Special Offer-Earn 300 Points from MyPoints.com for trying @Backup
> Get automatic protection and access to your important computer files.
> Install today:
> http://click.egroups.com/1/2344/7/_/161736/_/953767995/
>
> -- Easily schedule meetings and events using the group calendar!
> -- http://www.egroups.com/cal?listname=sed-br&m=1
>
>

#150 De: Junior <extacy@...>
Data: Sex, 24 de Mar de 2000 12:15 pm
Assunto: ER...
extacy@...
Enviar e-mail Enviar e-mail
 
Olá lista!
preciso de uma expressão regular que faça o seguinte...

se a tag for <a href="mailto:extacy@..."> ela pegue o valor do
email
como sou iniciante em ers se alguem puder ajudar...
[]'s

--
/*
If it happens once, it's a bug.
If it happens twice, it's a feature.
If it happens more than twice, it's windows.
*/

#151 De: Gustavo Niemeyer <gustavo@...>
Data: Sex, 24 de Mar de 2000 3:48 pm
Assunto: Re: ER...
gustavo@...
Enviar e-mail Enviar e-mail
 
Tudo bem Junior!?

> preciso de uma expressão regular que faça o seguinte...
> se a tag for <a href="mailto:extacy@..."> ela pegue o valor do
> email como sou iniciante em ers se alguem puder ajudar...

Desculpe minha intromissão, mas você não está tentando fazer mais
um catador de emails para spam, está?? :-/

Abraços!!

--
Gustavo Niemeyer
Niemeyer Network
Soluções em alta tecnologia
http://thequiz.nn.com.br

#152 De: Junior <extacy@...>
Data: Sex, 24 de Mar de 2000 5:02 pm
Assunto: Re: ER...
extacy@...
Enviar e-mail Enviar e-mail
 
Gustavo Niemeyer wrote:
>
> Tudo bem Junior!?
>
> > preciso de uma expressão regular que faça o seguinte...
> > se a tag for <a href="mailto:extacy@..."> ela pegue o valor do
> > email como sou iniciante em ers se alguem puder ajudar...
>
> Desculpe minha intromissão, mas você não está tentando fazer mais
> um catador de emails para spam, está?? :-/
>
> Abraços!!

hehehehe Olá gustavo, tudo bem e vc ?
Não cara não é para isso não é para a intranet...
Alteramos o servidor de e-mail e as páginas precisão ser atualizadas na
mão vai ser f*** tens uma 50 páginas e amaioria delas tem e-mail
eu vou procurar de um e-mail e substituir por outro ex:

vou ler a página procurar por <a href="mailto:extacy@..."> pego o
email
extacy@... e subitituto por "<a
href=\"mailto:".$new_mail.">"(isto em php)
Sacou ? tem como

--
/*
If it happens once, it's a bug.
If it happens twice, it's a feature.
If it happens more than twice, it's windows.
*/

#153 De: Marcus Moreira <marcus@...>
Data: Sex, 24 de Mar de 2000 7:19 pm
Assunto: Re: ER...
marcus@...
Enviar e-mail Enviar e-mail
 
On Fri, 24 Mar 2000, Junior wrote:

> hehehehe Olá gustavo, tudo bem e vc ?
> Não cara não é para isso não é para a intranet...
> Alteramos o servidor de e-mail e as páginas precisão ser atualizadas na
> mão vai ser f*** tens uma 50 páginas e amaioria delas tem e-mail
> eu vou procurar de um e-mail e substituir por outro ex:
>
> vou ler a página procurar por <a href="mailto:extacy@..."> pego o
> email
> extacy@... e subitituto por "<a
> href=\"mailto:".$new_mail.">"(isto em php)
> Sacou ? tem como
>

	 Porque voce nao subtitui apenas o email????

Pode tentar:

  # sed s/"extacy@..."/"novo_email@..."/ ./*.html

  :)

--
Marcus Moreira
<marcus@...>

#154 De: Eliphas Levy Theodoro <eliphas@...>
Data: Sex, 24 de Mar de 2000 7:06 pm
Assunto: Re: ER...
eliphas@...
Enviar e-mail Enviar e-mail
 
Junior, @ 14:02:

> Gustavo Niemeyer wrote:
> >
> > Tudo bem Junior!?
> >
> > > preciso de uma expressão regular que faça o seguinte...
> > > se a tag for <a href="mailto:extacy@..."> ela pegue o valor do
> > > email como sou iniciante em ers se alguem puder ajudar...
> >
> > Desculpe minha intromissão, mas você não está tentando fazer mais
> > um catador de emails para spam, está?? :-/
> >
> > Abraços!!
>
> hehehehe Olá gustavo, tudo bem e vc ?
> Não cara não é para isso não é para a intranet...
> Alteramos o servidor de e-mail e as páginas precisão ser atualizadas na
> mão vai ser f*** tens uma 50 páginas e amaioria delas tem e-mail
> eu vou procurar de um e-mail e substituir por outro ex:
>
> vou ler a página procurar por <a href="mailto:extacy@..."> pego o
> email
> extacy@... e subitituto por "<a
> href=\"mailto:".$new_mail.">"(isto em php)
> Sacou ? tem como

Essa ER pega todos os caracteres válidos pra um e-mail, e descarta os
outros:

s§.*[^-A-z._0-9]\([-A-z._0-9]\+@[-A-z.0-9]\+\).*§\1§

exemplo:
echo "%%$&#!ACXXX^^^~~~<fulano@...>XZCG#ZXVASD2#$%" |
sed -f email.er

irá retornar: "fulano@..."

outra, mais útil pro teu caso:

/href=\"mailto:/s/\"mailto:[-A-z._0-9]\+@[-A-z.0-9]\+\"/\"mailto:$NEW_MAIL\"/

procura por 'href="mailto:'
troca       '"mailto:qualquer@email"'
por         '"mailto:$NEW_MAIL"'


--
Conectiva - Theodoro, Eliphas Levy | \
sed 's/\([A-z]*\) - \([A-z]*,\) \([A-z]*\) \([A-z]*\)/\3 \4 \2 \1/'
A conclusion is simply the place where someone got tired of thinking.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCM/U d--- s:- a23 C+++ UL+++$ P+>$ L++> E--- W- N- !o !K w--- O- M- V?
PS+ PE Y-- PGP t+ 5+ X+ R+ tv- b DI+ D+++ G e-- h+ r- y+
------END GEEK CODE BLOCK------

mensagens 125 - 154 de 5040   Mais antigos  |  < Mais antigos  |  Mais recentes >  |  Mais recentes
mensagens 125 - 154 de 5040   Mais antigos  |  < Mais antigos  |  Mais recentes >  |  Mais recentes
Avançado

Copyright © 2010 Yahoo! do Brasil Internet Ltda. Todos os direitos reservados.
Política de Privacidade - Termos do Serviço - Diretrizes - Ajuda