3D Home Architect 4 " /> Accendere dati HTML in testo delimitato - Il UNIX e Linux Forum
The UNIX and Linux Forums  

Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
Come faccio ad estrarre il testo da solo file html senza tag HTML los111 UNIX for Dummies Domande & Risposte 4 11-28-2007 04:40 AM
Ricerca di testo in uno spazio delimitato da file andyblaylock UNIX for Dummies Domande & Risposte 6 11-27-2007 07:33 PM
html coverting dati di testo in 'c' phani_sree Di programmazione ad alto livello 3 10-18-2007 11:06 AM
Parsing di file di testo delimitato da virgola chengwei Shell scripting e di programmazione 5 02-23-2007 05:38 AM
Looping dati attraverso delimitato da tabulazioni alticcio Shell scripting e di programmazione 6 10-17-2006 06:44 PM

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 Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 11-21-2008
macxcool macxcool is offline
Utente Registrato
  
 

Iscriviti Data: novembre 2008
Luogo: Canada
Interventi: 4
Post Accendere dati HTML in testo delimitato

Ho un file che ho già parzialmente potate con grep che ha dati, come:

<a href\u003d"MasterDetailResults.asp?textfield\u003da&Application\u003d3D Home Architetto 4"> 3D Home Architect 4 </ a> </ td>
Approvazione </ td>
--
<a href\u003d"MasterDetailResults.asp?textfield\u003da&Application\u003d3d Home Architetto 6"> 3d Home Architect 6 </ a> </ td>
Non sono stati approvati </ td>
--
<a href\u003d"MasterDetailResults.asp?textfield\u003da&Application\u003dA a Zap"> Zap A a </ a> </ td>
Approvazione </ td>
--

ad eccezione di molto, molto di più ;-)

Voglio ottenere il nome (ad esempio, 3D Home Architect 4) e lo stato (cioè approvato o non approvato), e trasformarlo in questo:

3D Home Architect 4 | Approvato
3d Home Architect 6 | Non Approvazione
A a Zap | Approvato
ecc

per l'uso come una banca dati o l'importazione in Excel

Vorrei utilizzare con lo scripting bash sed gawk o per fare questo nel minor numero di linee (numero di righe non è critica, ovviamente ;-)

Grazie in anticipo per il vostro aiuto.
  #2 (permalink)  
Old 11-21-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderatore
  
 

Iscriviti Data: febbraio 2007
Messaggi: 4.342
Prova questo:


Codice:
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
Utente Registrato
  
 

Iscriviti Data: novembre 2008
Luogo: Canada
Interventi: 4
Grazie Franklin52, che è un inizio. Ho:
Applicazione \u003d 3D Home Architect 4 | Approvato
Applicazione \u003d 3d | Non
Applicazione \u003d A | Approvato
quando si correva. I'll continuare a lavorare su di esso.
  #4 (permalink)  
Old 11-21-2008
Christoph Spohr Christoph Spohr is offline
Utente Registrato
  
 

Iscriviti Data: Sep 2008
Interventi: 205
Salve,

provare


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

Se si sed non supporta \ n devi scrivere


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

invece.

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

Iscriviti Data: febbraio 2007
Messaggi: 4.342
Citazione:
Originalmente inviato da macxcool View Post
Grazie Franklin52, che è un inizio. Ho:
Applicazione \u003d 3D Home Architect 4 | Approvato
Applicazione \u003d 3d | Non
Applicazione \u003d A | Approvato
quando si correva. I'll continuare a lavorare su di esso.
Questo dovrebbe funzionare:

Codice:
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  
Utente Registrato
  
 

Iscriviti Data: giugno 2007
Ubicazione: Pechino Cina
Messaggi: 1.092
perl:


Codice:
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
Utente Registrato
  
 

Iscriviti Data: novembre 2008
Luogo: Canada
Interventi: 4
Grazie a tutti per le vostre soluzioni. I'm going to uso Christoph Spohr perché sto più confortevole sed che io sono con awk (anche se so che è molto potente). Ottenere un output con spazi dopo il tubo, perché ci sono spazi all'inizio della linea. Come faccio a modificare la

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

per liberarsi di questi spazi.
Inoltre, quello che se il mio file di input è un altro tra le due linee in questione:

Codice:
    <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>

Ancora una volta, ho bisogno di: Applicazione Nome | Stato come la mia uscita. Sono stato di rimuovere la
align\u003d"default" <td valign\u003d"top">
linea con sed prima di terminare le cose con il sed codice di cui sopra.
Closed Thread

Segnalibri

Tag
bash, csv, delimitata, html, sed awk shell bash

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 01:30 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0