Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google-Website



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Thread Tools Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 11-21-2008
Registrierte Nutzer
 

Join Date: Nov 2008
Ort: Kanada
Beiträge: 4
Post Schalten Sie HTML-Daten in Textdatei

Ich habe eine Datei habe ich bereits teilweise beschnitten mit grep, die Daten wie:

<a href\u003d"MasterDetailResults.asp?textfield\u003da&Application\u003d3D Home Architekt 4"> 3D Home Architect 4 </ a> </ td>
Genehmigt </ td>
--
<a href\u003d"MasterDetailResults.asp?textfield\u003da&Application\u003d3d Home Architekt 6"> 3D Home Architekt 6 </ a> </ td>
Nicht genehmigt </ td>
--
<a href\u003d"MasterDetailResults.asp?textfield\u003da&Application\u003dA zu Zap"> Zap A </ a> </ td>
Genehmigt </ td>
--

außer viel, viel mehr davon ;-)

Ich möchte den Namen der Anwendung (zB 3D Home Architect 4) und den Status (dh Annahme oder nicht genehmigt) und schalten Sie ihn in dieser:

3D Home Architect 4 | Annahme
3D Home Architekt 6 | nicht genehmigt
A Zap | Annahme
usw.

für den Einsatz als Datenbank-oder Import in Excel

Ich möchte mit Bash-Skript sed oder gawk, dies zu tun in der kleinsten Anzahl der Zeilen (Anzahl der Zeilen ist nicht kritisch, natürlich ;-)

Vielen Dank im Voraus für Ihre Hilfe.
Sponsored Links
  #2 (permalink)  
Old 11-21-2008
Moderator
 

Join Date: Feb 2007
Lage: Die Niederlande
Posts: 4962
Versuchen Sie folgendes:


Code:
awk -F"\"" '/Application=/{sub(".*a&","",$2);s=$2;getline;FS=" ";$0=$0;print s"|"$1}' file

  #3 (permalink)  
Old 11-21-2008
Registrierte Nutzer
 

Join Date: Nov 2008
Ort: Kanada
Beiträge: 4
Dank Franklin52, das ist ein Anfang. Ich habe:
Application \u003d 3D Home Architect 4 | Annahme
Application \u003d 3D | Nicht
Application \u003d A | Annahme
wenn ich es lief. Ich werde weiter daran zu arbeiten.
  #4 (permalink)  
Old 11-21-2008
Registrierte Nutzer
 

Join Date: Sep 2008
Beiträge: 205
Hi,

versuchen


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

Wenn Sie sed nicht unterstützt \ n Sie haben zu schreiben


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

anstatt.

HTH Chris
  #5 (permalink)  
Old 11-22-2008
Moderator
 

Join Date: Feb 2007
Lage: Die Niederlande
Posts: 4962
Zitat:
Zitat von macxcool View Post
Dank Franklin52, das ist ein Anfang. Ich habe:
Application \u003d 3D Home Architect 4 | Annahme
Application \u003d 3D | Nicht
Application \u003d A | Annahme
wenn ich es lief. Ich werde weiter daran zu arbeiten.
Diese sollten:

Code:
awk -F"\"" '
/Application=/{
  sub(".*=","",$2); s=$2
  getline; sub(" <.*","")
  print s "|" $0
}' file

  #6 (permalink)  
Old 11-23-2008
Registrierte Nutzer
 

Join Date: Jun 2007
Ort: Peking, China
Beiträge: 1133
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
Registrierte Nutzer
 

Join Date: Nov 2008
Ort: Kanada
Beiträge: 4
Ich danke Ihnen allen für Ihre Lösungen. Ich gehe zur Nutzung Christoph Spohr's, denn ich bin noch komfortabler mit sed als ich mit awk (obwohl ich weiß, es ist sehr leistungsfähig). Ich erhalte eine Ausgabe mit Leerzeichen nach dem Rohr, da es Leerzeichen am Anfang der Zeile. Wie kann ich ändern

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

loszuwerden dieser Räume.
Also, was ist, wenn meine Eingabedatei hat eine andere Linie zwischen den beiden Linien in Frage:

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>

Noch einmal, ich brauche: Application Name | Stand meiner Ausgabe. Ich habe die Beseitigung der
<td valign\u003d"top"> align\u003d"default"
Einklang mit sed Bevor es mit der sed Code vor.
Sponsored Links
Closed Thread

Lesezeichen

Tags
bash, csv, abgegrenzt, html, sed awk-Bash-Shell

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Aus


Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
Wie kann ich Nur-Text-Auszug aus der HTML-Datei ohne HTML-Tag los111 UNIX for Dummies Questions & Answers 4 11-28-2007 04:40 AM
Suche nach Text in einer Datei Space andyblaylock UNIX for Dummies Questions & Answers 6 11-27-2007 07:33 PM
coverting HTML-Daten zum Text in "C" phani_sree Programmierung 3 10-18-2007 11:06 AM
Parsing Komma getrennte Textdatei chengwei Shell Programmierung und Scripting 5 02-23-2007 05:38 AM
Durchschleifen tabulatorgetrennte "Daten Tipsy Shell Programmierung und Scripting 6 10-17-2006 06:44 PM



Alle Zeiten sind GMT -4. Es ist jetzt 09:22 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Inhalt-Copyright © 1993-2010. Alle Rechte Reserved.Ad Management by RedTyger

Content Relevant URLs durch vBSEO 3.2.0