![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her. |
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| Validere XSL ark data i Unix datafil | ravijunghare | UNIX for Dummies Spørsmål og svar | 1 | 11-07-2008 09:32 |
| Trenger hjelp for Legge Tre nye kolonner i eksisterende filen fra fatching data fra fil | Sandeep_Malik | Shell programmering og Skripting | 36 | 09-17-2008 06:12 |
| Hente data fra en tekstfil basert på konfigurasjonen satt i konfigurasjonsfilen | suparnbector | Shell programmering og Skripting | 3 | 08-10-2007 03:25 |
| Innlegg Shell programmering: Spørsmål om kilden en fil og lese data fra filen | ccwq | Shell programmering og Skripting | 3 | 08-04-2007 11:28 |
| Bruke loop lese en fil, henter data fra databasen. | Sonu4lov | Shell programmering og Skripting | 1 | 01-19-2007 03:38 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
Hvordan få data fra en kode i XML fil
Hei
Jeg har en XML-fil i hvilke data som lastes fra en relasjonsdatabase tabellen og kolonnen er koder i XML-filen som er vist nedenfor. <State> FNs </ State> <Zip/> <CompanyName/><EmailAddress>FDF@gmail.COM</ E-postadresse><PromoType> UKJENT </ PromoType> </ Promotion> </ PromotionList <State> FNs </ State> <Zip/> <CompanyName/><EmailAddress>zd4946@gmail.com</ E-postadresse> hva jeg må gjøre er å sjekke data mellom kodene som er i fet skrift er gyldig eller ikke ... betyr å undersøke om det en e-postadresse eller ikke ... å kontrollere dette jeg trenger å vise data i mellom disse kodene. og må finne lengden av data som ligger i mellom-koden ... betyr lengde FDF@gmail.COM for jeg trenger å få data fra xml-fil hvor <EmailAddress> </ e-postadresse>-koden er tilstede. beklager hvis det allerede spurt ... jeg sjekket, men jeg gjorde ikke få Exatly samsvarende resultat for min kravet hjelp i dette ... Im gjør dette i korn shell Sist endret av naughty21; 12-04-2008 på 01:51.. |
|
||||
|
Hei,
Jeg vil prøve å hente e-post direkte. For meg fungerer med eksempler: Code:
email=($(grep -o "[0-9A-Za-z]\+@[0-9A-Za-z]\+\.[A-Za-z]\{2,3\}" file))
i array epost. Code:
echo ${#email[0]}
du oppføringen i posisjon 0. HTH Chris |
|
||||
|
chris thanks for your reply
men når im prøver med under en 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.
når im prøver med under en 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...]
|
|
||||
|
Ingen overraskelse, du bruker ksh. Denne løsningen fungerer bare i bash eller zsh.
Med ksh Jeg kan ikke hjelpe deg. Men dette skal være enkelt. Just google for arrays i ksh. $(...) Kjøre følgende kommando i en subshell. (...) Setter det inne i en matrise. Kanskje du kan erstatte (...) ved `...` (Backticks). Men jeg vet ikke. Trolig må du justere regexp også. Nå blir det ikke samsvarer eposter med punktum, understreking tankestrekene etc. |
|
||||
|
Sitat:
Code:
awk -F '</?EmailAddress>' '{print $2}' 456.xml
så må sjekke hele xml-fil på e-postadresse og få dem dit <EmailAddress> </ e-postadresse>-koden er tilstede. Sist endret av naughty21; 12-03-2008 på 05:07.. |
|
||||
|
Re: skriver verdier av XML-koder i arrays
Hei Alle,
Håper alt er bra. Jeg bruker Bourne Shell (sh). Jeg har denne enkle XML-struktur (det er meget godt definert, og dette er hvordan dette fast struktur vil være). Den nøyaktige prøven er som følger (Det vil alltid være en verdi per tag): <Users> <host> <hostAddress> 180.144.226.47 </ hostAddress> <brukernavn> pwdfe </ brukernavn> <password> hjitre </ passord> <instanceCount> 2 </ instanceCount> </ Host> <host> <hostAddress> 180.144.226.87 </ hostAddress> <brukernavn> trrrer </ brukernavn> <password> jhjjhhj </ passord> <instanceCount> 3 </ instanceCount> </ Host> <host> <hostAddress> 180.455.226.87 </ hostAddress> <brukernavn> wewqw </ brukernavn> <password> dfsdfd </ passord> <instanceCount> 3 </ instanceCount> </ Host> </ Users> -------------------------------------------------- -------------------- Jeg ønsker å opprette en matrise med verdiene i XML-koder. For eksempel H_ARRAY ('180 .144.226.47 ','180 .144.226.87','180 .144.226.87 '). Så jeg vil gå gjennom mente verdiene for matrisen tilsvarende. Jeg er nybegynner til shell scripting og spesielt "SED"Kommandoen som etter gjentatte forsøk ikke kunne forstå. Ville takker for hjelpen. La meg vite om jeg tapte på noe, H_ARRAY \u003d ( `echo $ (hostAddress)`) U_ARRAY \u003d ( `echo $ (brukernavn)`) P_ARRAY \u003d ( `echo $ (passord)`) I_ARRAY \u003d ( `echo $ (instanceCount)`) Takk, Sam |
![]() |
| Hugseliste |
| Tags |
| data, søke, shell script, shell scripting, tag, unix scripting, UNIX scripting Grunnleggende, xml |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|