![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her. |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
Hjælp xml
Gruppen, Code:
$ cat 2233
12236 ID2
12239 ID3
Please guide me to construct the following XML from the above input.
<Comp>
<main>
<hlp fS="12236" eS="12237">
<std no="2233" />
<id="ID2"/>
</hlp>
<hlp fS="12239" eS="12240">
<std no="2233" />
<id="ID3"/>
</hlp>
</main>
</Comp>
** eS is +1 of fS value
** std no is the file name
|
|
||||
|
Hvad har du prøvet, hvilke dele du har problemer med? Har du en præference for en bestemt gennemførelsen sprog?
(Er det ikke en tad åndssvage at have en feltværdi som altid er et andet felt værdi plus én?) |
|
||||
|
perl
hi forsøge nedenfor perl script sige scriptet navn er a.pl, under kommando kan løse dit problem. Citat:
Code:
format STDOUT_TOP =
<Comp>
<main>
.
format STDOUT =
<hlp fs="@<<<<" es="@<<<<">
$text1 $text2
<std no="@<<<"/>
$text3
<id="@<<"/>
$text4
</hlp>
.
$file=shift;
open(FH,"<$file") or die "Can not open file";
while(<FH>){
@arr=split(" ",$_);
$text1=$arr[0];
$text2=$arr[0]+1;
$text3=$file;
$text4=$arr[1];
write;
}
print " </main>\n";
print "</Comp>\n";
close(FH);
|
|
||||
|
Era tak for besvarelse. Jeg forsøgte for kun én post i input-filen, sådan noget Code:
....
FILE=$1
fS=$(awk '{print $1}' $FILE)
((eS=fS+1))
echo "<Comp>" >> myxml
...
...
Men jeg er ikke i stand til at gøre det samme, hvis num poster i input-filen i mere end 1. Please help. |
![]() |
| Bogmærker |
| Tags |
| perl, perl skift, skift, skift perl |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|