|
|
|
|
Google-Website
|
|||||||
| Foren | Registrieren | Blog | Man-Seiten | Forum-Regeln | Links | Alben | FAQ | Benutzer | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier. |
![]() |
|
|
Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|||
|
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 | ||
|
|
|
|||
|
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. |
|
|||
|
Hi, versuchen Code:
sed -n '/Application/{N;s/.*Application=\([^"]*\).*\n\(.*\)<.*/\1 | \2/p}' fileWenn Sie sed nicht unterstützt \ n Sie haben zu schreiben Code:
sed -n '/Application/{N;s/.*Application=\([^"]*\).*\
\(.*\)<.*/\1 | \2/p}' fileanstatt. HTH Chris |
|
|||
|
Zitat:
Code:
awk -F"\"" '
/Application=/{
sub(".*=","",$2); s=$2
getline; sub(" <.*","")
print s "|" $0
}' file |
|
|||
|
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}' fileloszuwerden 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 | ||
|
|
![]() |
| Lesezeichen |
| Tags |
| bash, csv, abgegrenzt, html, sed awk-Bash-Shell |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|
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 |