Arquiteto 3D Home Architect 4 " /> Transforme os dados em HTML texto delimitado - O UNIX e Linux Forum
The UNIX and Linux Forums  
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.

Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Como faço para extrair o texto só a partir de arquivo html sem tag HTML los111 UNIX para Dummies Perguntas & Respostas 4 11-28-2007 04:40
Procurar texto em um espaço delimitado Arquivo andyblaylock UNIX para Dummies Perguntas & Respostas 6 11-27-2007 07:33
html coverting dados em texto em 'c' phani_sree Alto Nível de programação 3 10-18-2007 10:06
Parsing vírgula arquivo de texto delimitado chengwei Programação Shell Script e 5 02-23-2007 05:38
Looping através da guia de dados avinhado Programação Shell Script e 6 10-17-2006 05:44

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 11-21-2008
macxcool macxcool is offline
Usuário
  
 

Join Date: Nov 2008
Local: Canadá
Posts: 4
Post Transforme os dados em HTML de texto delimitado

Eu tenho um arquivo que eu já parcialmente podadas com grep que tenha dados tais como:

<a href\u003d"MasterDetailResults.asp?textfield\u003da&Application\u003d3D Home 4"> Arquiteto 3D Home Architect 4 </ a> </ td>
Aprovado </ td>
--
<a href\u003d"MasterDetailResults.asp?textfield\u003da&Application\u003d3d Home Architect 6"> 3d Home Architect 6 </ a> </ td>
Não Aprovado </ td>
--
<a href\u003d"MasterDetailResults.asp?textfield\u003da&Application\u003dA para Zap"> A Zap </ a> </ td>
Aprovado </ td>
--

excepto muito, muito mais do que ;-)

Eu quero pegar o nome da aplicação (ou seja, 3D Home Architect 4) e pelo estatuto (isto é, aprovados ou não aprovados) e transformá-lo no presente:

3D Home Architect 4 | Aprovado
3d Home Architect 6 | Não Aprovado
A Zap | Aprovado
etc

para uso como uma base de dados pesquisável ou importação em Excel

Quero usar bash scripting com sed ou ficar de boca aberta para fazer isso no menor número de linhas (número de linhas não é crítica, é claro ;-)

Agradecemos antecipadamente a sua ajuda.
  #2 (permalink)  
Old 11-21-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderador
  
 

Join Date: Feb 2007
Mensagens: 4.305
Tente este:

Código:
awk -F"\"" '/Application=/{sub(".*a&","",$2);s=$2;getline;FS=" ";$0=$0;print s"|"$1}' file
  #3 (permalink)  
Old 11-21-2008
macxcool macxcool is offline
Usuário
  
 

Join Date: Nov 2008
Local: Canadá
Posts: 4
Graças Franklin52, isso é um começo. Tenho:
Aplicação \u003d 3D Home Architect 4 | Aprovado
Aplicação \u003d 3d | Não
\u003d A pedido | Aprovado
quando eu corria dela. Vou continuar a trabalhar sobre ela.
  #4 (permalink)  
Old 11-21-2008
Christoph Spohr Christoph Spohr is offline
Usuário
  
 

Join Date: Sep 2008
Lugares: 205
Oi,

tentar

Código:
sed -n '/Application/{N;s/.*Application=\([^"]*\).*\n\(.*\)<.*/\1 | \2/p}' file
Se você sed não suporta \ n você tem que escrever

Código:
sed -n '/Application/{N;s/.*Application=\([^"]*\).*\
\(.*\)<.*/\1 | \2/p}' file
em vez de.

HTH Chris
  #5 (permalink)  
Old 11-22-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderador
  
 

Join Date: Feb 2007
Mensagens: 4.305
Citação:
Originally Posted by macxcool View Post
Graças Franklin52, isso é um começo. Tenho:
Aplicação \u003d 3D Home Architect 4 | Aprovado
Aplicação \u003d 3d | Não
\u003d A pedido | Aprovado
quando eu corria dela. Vou continuar a trabalhar sobre ela.
Isso deve funcionar:
Código:
awk -F"\"" '
/Application=/{
  sub(".*=","",$2); s=$2
  getline; sub(" <.*","")
  print s "|" $0
}' file
  #6 (permalink)  
Old 11-23-2008
summer_cherry summer_cherry is offline Forum Advisor  
Usuário
  
 

Join Date: Jun 2007
Localização: Beijing China
Mensagens: 1.086
perl:

Código:
undef $/;
open FH,"<d:/a.txt";
$str=<FH>;
@arr=split("--",$str);
map {s/<a.*>(.*)<\/a>(.*)<\/td>\n(.*)<\/td>/$1|$3/} @arr;
print "@arr";
close FH;
  #7 (permalink)  
Old 11-24-2008
macxcool macxcool is offline
Usuário
  
 

Join Date: Nov 2008
Local: Canadá
Posts: 4
Obrigado a todos por suas soluções. I'm going to use Christoph Spohr é porque estou mais confortável com sed do que eu estou com awk (embora eu saiba que é muito poderoso). Recebo uma saída com espaços após a canalização, pois existem espaços no início da linha. Como posso modificar
Código:
sed -n '/Application/{N;s/.*Application=\([^"]*\).*\n\(.*\)<.*/\1 | \2/p}' file
para se livrar desses espaços.
Além disso, o que acontece se o meu arquivo de entrada tem uma outra linha entre as duas linhas em questão:
Código:
    <tr> 
      <td height="23" align="default" valign="top"> 
        <a href="MasterDetailResults.asp?textfield=a&Application=3D Home Architect 4">3D Home Architect 4</a> </td>
      <td align="default" valign="top"> 
        Approved </td>
    </tr>
Mais uma vez, eu preciso: Aplicação Nome | Status como minha saída. Fui eliminando os
<td valign\u003d"top"> align\u003d"default"
consonância com sed antes de terminar as coisas fora com o sed código acima.
Closed Thread

Marcadores

Tags
bash, csv, delimitado, html, sed awk bash shell

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 09:27.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0