Re: Dúvida Shell Script
Wesley, Felipe e amigos da lista,
Obrigado pela atenção dispensada e pelo código com as soluções.
O problema é que não sei se vou poder usar C ou PHP por normas do projetos
entende?
Se tiverem a solução em script shell / bash fico muito grato.
Obrigado.
Rubens Saraiva
----- Original Message -----
From: Wesley Alves de Oliveira/MPGO <wesley.oliveira@mp.go.gov.br>
To: <rubens.saraiva@mult-e.com.br>;
<debian-user-portuguese@lists.debian.org>
Sent: Wednesday, April 30, 2003 5:45 PM
Subject: Re: Dúvida Shell Script
Existe uma variável externa que você deve setá-la para depois fazer isso,
mas em C fica mais fácil tipo:
int main(int argc, char *argv[])
{
FILE *arquivo;
char c, buffer[TAMANHO]; /* Segunda variavel opcional, pois se
quizer que apenas mostre na tela não é necessário
Estou implementando a função para
que você não precise de buffer */
if((arquivo = fopen("path do arquivo","r"))==NULL){
puts("Erro ao ler arquivo ou você não tem permissão de
leitura...");
return(1);
}
while((c=getc(arquivo))!=EOF){
if(c == 'g'){ /* Observando seu texto aí em baixo,
testaremos primeiro a letra g e depois sempre a sua subsequente */
c = getc(arquivo);
if(c ==
){
/* Agora testamos a subsequente se for,
pronto imprima na tela o conteúdo entre elas */
while((c = getc(arquivo)) != '<') {
printf("%c",c); }
}
}
}
fclose(arquivo);
return(0);
}
Se você não tiver dentro das tags do html uma coicidência da letra g e
posteriormente a o > ele vai imprimir corretamente, quer dizer ainda não
testei acho que vai funcionar.
Se quizer armazenar no lugar de printf("%c",c) coloca buffer[i] = c;
declare uma variável static int i; no inicio do arquivo, e de
ntro do corpo
do laço while de impressão coloque o seguinte:
while((c = getc(arquivo))!='<'){ i = 0; buffer[i] = c; i++; }
Se o código não lhe interessar ou você preferir em script, hoje a noite eu
olho lá em casa e lhe mostro o código em Script Bash como seria, mas só
vou lhe postar amanhã pois a internet é mais barata.
Pessoal,
Como fazer para pegar dados de um arquivo especificando caracteres que
vem antes e depois??
Exemplo:
Tenho um arquivo texto com:
<tag>1</tag>
<tag>ab</tag>
<tag>ZZ</tag>
Preciso retornar:
1abZZ
Ou seja, preciso todos os dados de "tag".
Obrigado.
Rubens
--
To UNSUBSCRIBE, email to debian-user-portuguese-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact
listmaster@lists.debian.org
--
To UNSUBSCRIBE, email to debian-user-portuguese-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact
listmaster@lists.debian.org
Reply to: