![]() |
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | 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. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Validierung XSL-Daten in Unix-Daten-Datei | ravijunghare | UNIX for Dummies Questions & Answers | 1 | 11-07-2008 09:32 AM |
| Brauchen Sie Hilfe für die Drei neue Spalten in bestehende Datei aus fatching Daten aus der Datei | Sandeep_Malik | Shell Programmierung und Scripting | 36 | 09-17-2008 06:12 PM |
| Extrahieren von Daten aus Text-Datei auf Konfiguration in der Konfigurationsdatei | suparnbector | Shell Programmierung und Scripting | 3 | 08-10-2007 03:25 AM |
| Post-Shell-Programmierung: Frage zu Quelle eine Datei und Lesen von Daten aus der Datei | ccwq | Shell Programmierung und Scripting | 3 | 08-04-2007 11:28 PM |
| Mit Schleife Lesen einer Datei, das Abrufen von Daten aus Datenbanken. | Sonu4lov | Shell Programmierung und Scripting | 1 | 01-19-2007 03:38 AM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Wie man die Daten von einem Tag in der XML-Datei
Hi
Ich habe eine XML-Datei, in dem die Daten geladen wird, aus einer relationalen Tabellen-und Spaltennamen sind die Tags in der XML-Datei, die unten gezeigt. <state> UN </ Staat> <Zip/> <CompanyName/><EmailAddress>FDF@gmail.COM</ EmailAddress><PromoType> UNKNOWN </ PromoType> </ Promotion> </ PromotionList <state> UN </ Staat> <Zip/> <CompanyName/><EmailAddress>zd4946@gmail.com</ EmailAddress> was ich zu tun habe, ist zu prüfen, die Daten zwischen den Tags, die in Fettdruck gültig ist oder nicht ... Mittel haben, um zu prüfen, ob es ein E-Mail-Adresse oder nicht ... Um zu überprüfen, dies brauche ich, um die Daten zwischen diesen Tags. und haben, um die Länge der Daten, die zwischen Tag ... bedeutet, Länge der FDF@gmail.COM für diese muss ich die Daten aus der XML-Datei, wo <EmailAddress> </ EmailAddress>-Tag vorhanden ist. Sorry, wenn ihr schon gefragt ... Ich habe aber i didnt get Exatly passende Ergebnis für meine Pflicht jede Hilfe in diesem ... Im dabei in Korn Shell Zuletzt bearbeitet von naughty21; am 12-04-2008 01:51 PM.. |
|
||||
|
Hi,
Ich würde versuchen, um die E-Mails direkt. Für mich funktioniert das mit dem Muster: Code:
email=($(grep -o "[0-9A-Za-z]\+@[0-9A-Za-z]\+\.[A-Za-z]\{2,3\}" file))
in das Feld E-Mail. Code:
echo ${#email[0]}
Sie den Eintrag an Position 0. HTH Chris |
|
||||
|
Chris Vielen Dank für Ihre Antwort
aber wenn im Versuch mit weniger als einem Code:
email=($(grep -o "[0-9A-Za-z]\+@[0-9A-Za-z]\+\.[A-Za-z]\{2,3\}" 456))
im getting this error
ksh: 0403-057 Syntax error: `(' is not expected.
wenn im Versuch mit weniger als einem Code:
email=$(grep -o "[0-9A-Za-z]\+@[0-9A-Za-z]\+\.[A-Za-z]\{2,3\}" 456)
im getting error like this
grep: Not a recognized flag: o
Usage: grep [-E|-F] [-c|-l|-q] [-insvxbhwy] [-p[parasep]] -e pattern_list...
[-f pattern_file...] [file...]
Usage: grep [-E|-F] [-c|-l|-q] [-insvxbhwy] [-p[parasep]] [-e pattern_list...]
-f pattern_file... [file...]
Usage: grep [-E|-F] [-c|-l|-q] [-insvxbhwy] [-p[parasep]] pattern_list [file...]
|
|
||||
|
Kein Wunder, Sie ksh. Diese Lösung funktioniert nur in der bash oder zsh.
Mit ksh Ich kann euch nicht helfen. Aber das sollte einfach sein. Nur für Google-Arrays in ksh. $(...) Den folgenden Befehl in eine Subshell. (...) Stellt das, was im Inneren in einem Array. Vielleicht können Sie durch (...) `...` (Backticks). Aber ich weiß es nicht. Wahrscheinlich haben Sie, um die regexp, zu. Mittlerweile wird es nicht mit E-Mails mit Punkten, Unterstriche, Bindestriche usw. |
|
||||
|
Zitat:
Code:
awk -F '</?EmailAddress>' '{print $2}' 456.xml
so müssen Sie ganze XML-Datei für die E-Mail-Adresse und sie dort, wo <EmailAddress> </ EmailAddress>-Tag vorhanden ist. Zuletzt bearbeitet von naughty21; am 12-03-2008 05:07 PM.. |
|
||||
|
Re: schreiben Werte aus XML-Tags in Arrays
Hallo alle,
Hoffe, alles ist in Ordnung. Ich bin mit der Bourne-Shell (sh). Ich habe diese einfache XML-Struktur (es ist sehr gut definiert, und das ist, wie diese Struktur festgelegt werden). Die genauen Probe ist wie folgt (Es wird immer ein Wert pro Tag): <Users> <Host> <hostAddress> 180.144.226.47 </ hostAddress> sa pwdfe </ username> <password> hjitre </ Passwort> <instanceCount> 2 </ instanceCount> </ Host> <Host> <hostAddress> 180.144.226.87 </ hostAddress> sa trrrer </ username> <password> jhjjhhj </ Passwort> <instanceCount> 3 </ instanceCount> </ Host> <Host> <hostAddress> 180.455.226.87 </ hostAddress> sa wewqw </ username> <password> dfsdfd </ Passwort> <instanceCount> 3 </ instanceCount> </ Host> </ Users> -------------------------------------------------- -------------------- Nun will ich ein Array mit nur die Werte der XML-Tags. Für z. B. H_ARRAY ('180 .144.226.47 ','180 .144.226.87','180 .144.226.87 '). Dann habe ich gedacht, werden auch die Werte der Array werden. Ich bin Neuling auf Shell-Scripting und vor allem "SED"-Befehl, die nach wiederholter Versuche nicht in der Lage war zu verstehen. Möchten danken Ihnen für Ihre Unterstützung. Lassen Sie mich wissen, wenn ich etwas verpasst, H_ARRAY \u003d ( `echo $ () hostAddress") U_ARRAY \u003d ( `echo $ (username)") P_ARRAY \u003d ( `echo $ (Kennwort)") I_ARRAY \u003d ( `echo $ () instanceCount") Danke, Sam |
![]() |
| Lesezeichen |
| Tags |
| Daten, Suche, Shell-Skript, Shell Scripting, tag, Unix-Scripting, Unix-Scripting-Grundlagen, xml |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|