Architecte 3D Architecte Home 4 " /> Tourner des données HTML en texte délimité - The UNIX et Linux Forums
The UNIX and Linux Forums  
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Comment puis-je extraire uniquement le texte de fichier html, sans balise HTML los111 UNIX pour les nuls Questions et réponses 4 11-28-2007 04:40 AM
La recherche de texte dans un espace délimité par dossier andyblaylock UNIX pour les nuls Questions et réponses 6 11-27-2007 07:33 PM
html coverting données au format texte dans le «c» phani_sree High Level Programming 3 10-18-2007 10:06 AM
Analyse de fichier texte délimité par virgule Chengwei De programmation et de script Shell 5 02-23-2007 05:38 AM
Looping délimitée par le biais de l'onglet de données pompette De programmation et de script Shell 6 10-17-2006 05: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 Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 11-21-2008
macxcool macxcool is offline
Registered User
  
 

Date d'inscription: novembre 2008
Lieu: Canada
Messages: 4
Post Tourner des données HTML en texte délimité

J'ai un fichier que j'ai déjà partiellement taillés avec grep, qui a des données comme:

<a href\u003d"MasterDetailResults.asp?textfield\u003da&Application\u003d3D Accueil 4"> Architecte 3D Home Architect 4 </ a> </ td>
Approved </ td>
--
<a href\u003d"MasterDetailResults.asp?textfield\u003da&Application\u003d3d Home Architect 6"> 3d Home Architect 6 </ a> </ td>
Non approuvé </ td>
--
<a href\u003d"MasterDetailResults.asp?textfield\u003da&Application\u003dA de A à Zap"> Zap </ a> </ td>
Approved </ td>
--

l'exception de beaucoup, beaucoup plus de celui-ci ;-)

Je veux obtenir le nom de l'application (c'est-à-dire 3D Home Architect 4) et le statut (c'est-à-dire approuvé ou non approuvé) et le transformer en ceci:

3D Home Architect 4 | Approbation
3d Home Architect 6 | Non approuvé
A Zap | Approved
etc

pour les utiliser comme une base de données ou d'importer dans Excel

Je veux utiliser le script bash avec sed gawk ou de faire dans le plus petit nombre de lignes (nombre de lignes n'est pas critique, bien sûr ;-)

Merci d'avance pour votre aide.
  #2 (permalink)  
Old 11-21-2008
Franklin52 Franklin52 is offline Forum Staff  
Modérateur
  
 

Join Date: Feb 2007
Posts: 4,294
Essayez ceci:

Code:
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
Registered User
  
 

Date d'inscription: novembre 2008
Lieu: Canada
Messages: 4
Merci Franklin52, c'est un début. J'ai reçu:
Application \u003d 3D Home Architect 4 | Approbation
Application \u003d 3d | Non
Application \u003d A | Approved
quand j'ai exécuté. Je vais continuer à travailler sur celui-ci.
  #4 (permalink)  
Old 11-21-2008
Christoph Spohr Christoph Spohr is offline
Registered User
  
 

Join Date: Sep 2008
Messages: 205
Salut,

essayer

Code:
sed -n '/Application/{N;s/.*Application=\([^"]*\).*\n\(.*\)<.*/\1 | \2/p}' file
Si vous sed ne supporte pas les \ n, vous devez écrire

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

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

Join Date: Feb 2007
Posts: 4,294
Citation:
Posté par macxcool View Post
Merci Franklin52, c'est un début. J'ai reçu:
Application \u003d 3D Home Architect 4 | Approbation
Application \u003d 3d | Non
Application \u003d A | Approved
quand j'ai exécuté. Je vais continuer à travailler sur celui-ci.
Cela devrait fonctionner:
Code:
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  
Registered User
  
 

Date d'inscription: juin 2007
Lieu: Beijing Chine
Posts: 1,079
perl:

Code:
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
Registered User
  
 

Date d'inscription: novembre 2008
Lieu: Canada
Messages: 4
Merci à tous pour vos solutions. Je vais utiliser Christoph Spohr parce que je suis plus à l'aise avec sed que je suis avec awk (même si je sais qu'il est très puissant). J'obtiens une sortie avec des espaces après la pipe, car il ya des espaces au début de la ligne. Comment puis-je modifier
Code:
sed -n '/Application/{N;s/.*Application=\([^"]*\).*\n\(.*\)<.*/\1 | \2/p}' file
de se débarrasser de ces espaces.
Aussi, si mon fichier d'entrée a une autre ligne de démarcation entre les deux lignes en question:
Code:
    <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>
Une fois encore, j'ai besoin de: Nom de l'application | Situation ma sortie. J'ai été la suppression de la
<td valign\u003d"top"> align\u003d"default"
ligne avec sed avant de finir les choses avec la sed code ci-dessus.
Closed Thread

Bookmarks

Tags
bash, csv, délimité, html, sed awk shell bash

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 10:37 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0