The UNIX and Linux Forums  

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > UNIX pour les nuls Questions et réponses
.
google unix.com



UNIX pour les nuls Questions et réponses Si vous ne savez pas où poster un UNIX ou Linux question, post it here. Tous les systèmes UNIX et Linux, débutants bienvenus!

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Pour sortir de données de HTML phip De programmation et de script Shell 1 05-20-2008 04:23 AM
Conversion des données HTML dans une feuille de calcul GARRIC De programmation et de script Shell 4 04-22-2008 11:00 AM
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
html coverting données au format texte dans le «c» phani_sree High Level Programming 3 10-18-2007 11:06 AM
Conversion des tables de données en ligne des colonnes de tables justthisguy De programmation et de script Shell 7 07-16-2007 05:42 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 03-19-2008
Streetrcr Streetrcr is offline
Registered User
  
 

Join Date: Mar 2008
Messages: 10
extraire des données de tableaux html

salut

i besoin d'utiliser Unix pour extraire des données de plusieurs lignes d'un tableau en code html. Je sais que de lignes dans un tableau les balises <tr> </ tr> et alors j'ai pensé que ma première étape devrait être de supprimer tous les autres code html qui ne figure pas à l'intérieur de ces balises. i pourrait alors utiliser cette méthode, mais encore supprimer tout ce qui n'est pas dans <td> </ td> tags. mais la grande question est de savoir comment puis-je faire cela? i think i need sed mais pour le moment, c'est juste moi aussi beaucoup de confusion aucune aide?
  #2 (permalink)  
Old 03-19-2008
Bakounine bakunin is offline Forum Staff  
Bughunter Extraordinaire
  
 

Join Date: Mai 2005
Situation: A la gauche octet de / dev / kmem
Messages: 1641
En principe, vous avez raison. Le script suivant extrait tout entre un «<tr>" et "</ tr>" tag. Il suppose que il n'y a pas plusieurs "<tr> - </ tr>" paires sur une seule ligne et les balises elles-mêmes sont minuscules (pas de "<TR>).

Le résultat n'est peut-être pas ce dont vous avez besoin, alors vous pouvez envisager de nous donner un échantillon de ce que vous avez et que vous aurez besoin d'obtenir d'elle. Cela nous permettra de vous aider à mieux.


Code:
sed 's/.*<tr>//;s/<\/tr>.*//' /path/to/your/file

I hope this helps.

Bakounine
  #3 (permalink)  
Old 03-19-2008
drl's Avatar
DRL drl is offline Forum Advisor  
Registered User
  
 

Join Date: Apr 2007
Localisation: Saint Paul, MN USA / BSD, CentOS, Debian, OS X, Solaris
Messages: 717
Salut.

Voir Tableau HTML au format CSV pour une autre approche utilisant les lynx-dump.

En général, des liens vers des fils semblables aux vôtres sont affichées au bas du fil ... cheers, DRL
  #4 (permalink)  
Old 03-19-2008
Streetrcr Streetrcr is offline
Registered User
  
 

Join Date: Mar 2008
Messages: 10
grâce Bakunin qui est vraiment utile. i cant post d'un échantillon de la page html pour diverses raisons. le seul problème avec votre solution est que la plupart des balises sont <tr> sur plusieurs lignes dans ma page html. c'est-à-dire la balise mai ouvertes sur la ligne 7, puis fermée à la ligne 20. où est-il possible avec sed de supprimer tout sur une ligne (y compris la ligne) mais que quand il fait à un tag <tr> et recommencer quand il est à un </ tr>? sinon est-il un moyen de faire sed croire que l'ensemble de la page html est sur une seule ligne?

Comme je ne suis pas familier avec les capacités de sed, Il est difficile pour moi de savoir quelle est la meilleure manière de remplir cette tâche.
  #5 (permalink)  
Old 03-19-2008
ShawnMilo ShawnMilo is offline
Registered User
  
 

Date d'inscription: juin 2006
Messages: 252
Citation:
Posté par Streetrcr View Post
grâce Bakunin qui est vraiment utile. i cant post d'un échantillon de la page html pour diverses raisons. le seul problème avec votre solution est que la plupart des balises sont <tr> sur plusieurs lignes dans ma page html. c'est-à-dire la balise mai ouvertes sur la ligne 7, puis fermée à la ligne 20. où est-il possible avec sed de supprimer tout sur une ligne (y compris la ligne) mais que quand il fait à un tag <tr> et recommencer quand il est à un </ tr>? sinon est-il un moyen de faire sed croire que l'ensemble de la page html est sur une seule ligne?

Comme je ne suis pas familier avec les capacités de sed, Il est difficile pour moi de savoir quelle est la meilleure manière de remplir cette tâche.
Il n'y a pas de raison que vous ne pouvez pas maquette d'une page HTML qui ressemble à celui avec lequel vous travaillez, mais qui ne contient pas d'informations sensibles. Personne n'est intéressé à lancer des fléchettes dans une pièce sombre.

Si vous postez quelque chose, quelqu'un code postal. Sinon, vous allez avoir à faire vous-même. Essayez quelque chose comme le remplacement de l'ensemble des nouvelles lignes dans le fichier avec des espaces, le fractionnement du fichier avant chaque <ou après chaque>, et aller de là. Si vous mai ont un <ou> dans les données, puis vous allez faire un peu de travail supplémentaire. C'est le mieux que je peux faire pour vous en ce moment.

ShawnMilo
  #6 (permalink)  
Old 03-20-2008
Streetrcr Streetrcr is offline
Registered User
  
 

Join Date: Mar 2008
Messages: 10
tente de répondre à ma question ici, mais encore du mal im si ce travail ne marche pas alors je vais maquette d'exemple, je pensais que ma description de mai ont été assez bon withough d'avoir à perdre du temps à faire un exemple de table.

j'ai trouvé sur ce site Sed - An Introduction and Tutorial que vous pouvez créer des gammes de modèles. l'exemple de code est:


Code:
sed '/start/,/stop/ s/#.*//'

J'ai essayé de faire mon <tr> début et </ tr> mon arrêt, mais je ne cesse de faire des erreurs. i aurait en outre de ne pas (!), cette façon au lieu de supprimer tout les tags, il supprime tout hors des balises.
s'il vous plaît quelqu'un peut m'aider à obtenir cette sed commandement de travail?

merci

Dernière édition par Streetrcr; au 03.20.2008 04:05 AM.. Motif: balises de code
  #7 (permalink)  
Old 03-20-2008
Bakounine bakunin is offline Forum Staff  
Bughunter Extraordinaire
  
 

Join Date: Mai 2005
Situation: A la gauche octet de / dev / kmem
Messages: 1641
Citation:
le seul problème avec votre solution est que la plupart des balises sont <tr> sur plusieurs lignes dans ma page html. c'est-à-dire la balise mai ouvertes sur la ligne 7, puis fermée à la ligne 20.
Eh bien, je vous ai dit que - en l'absence de tout exemple - j'ai dû faire quelques hypothèses. Voici une nouvelle version qui fonctionne sur les étiquettes vont sur plusieurs lignes. Il sera toujours pas prendre le cas de plusieurs "<tr> ...</ tr>" paires sur une ligne, cependant.


Code:
sed -n '/<tr>/,/<\/tr> {
           s/.*<tr>//
           s/<\/tr>.*//
           p
           }' /path/to/your/file

Comment cela fonctionne: le "-n" clause de l'arrêt sed l'impression de chaque ligne, il a lu, si vous supprimez le script, il serait juste rien imprimer. Il s'agit de (implicitement) à jeter toutes les lignes qui ne sont pas dans la plage spécifiée.

Tout entre les accolades est exécuté seulement à l'intérieur de la fourchette indiquée à la ligne 1. Comme vous pouvez le voir la dernière commande à l'intérieur des accolades est un "p", qui sera imprimée tout à l'intérieur de cette fourchette. Si vous supprimez les deux "s /...."- commandes d'impression, il serait quelque chose de cela:


Code:
something....<tr> content of the tr-tag
some more content
even more content</tr> something else....

Comme vous pouvez voir les parties en gras doivent être supprimés, car ils ne font pas partie de ce que vous voulez. Les deux "s /..."- commandes (s \u003d substitut) de prendre soin de tout cela avec les tags eux-mêmes. Lors de la dernière p (rint)-commande affiche le résultat de tous les réglages.

Encore un mot, si: Vous avez une deuxième réponse de moi parce que j'ai apprécié que vous faisiez une véritable recherche sur votre propre. Vous avez perdu près de cette réponse en raison de ceci:

Citation:
[...] withough avoir à perdre du temps à faire un exemple de table
Vous remarquerez que j'ai "perdu du temps", non seulement l'écriture d'un script, mais même perdu plus de temps à expliquer comment il fonctionne, dans l'espoir non seulement de résoudre le problème à la main, mais l'amélioration de votre compréhension, en même temps. En plus de cela i "perdu un peu plus de temps à écrire un script dans mon premier post qui personne ne va avoir besoin, car elle était fondée sur des hypothèses erronées. Les hypothèses qui pourraient ne pas avoir été mauvaise à tous les aurais-je été en mesure de travailler à partir d'un exemple, créé par "perte de temps".

Je suis encore aujourd'hui "de perdre un peu plus de temps" pour vous expliquer pourquoi vous avez peut-être parfois pas de réponse à la totalité ou une réponse que vous ne pouvez pas l'utiliser. Go figure.

I hope this helps.

Bakounine
Closed Thread

Bookmarks

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 09:27 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