Avatar billede sb Nybegynder
17. oktober 2002 - 14:09 Der er 5 kommentarer og
1 løsning

Hjælp med at lave et enkelt script

Jeg kan absolut ingenting om perl, så jeg har brug for hjælp til at lave et lille script.

Jeg har en textfil som f.eks. kan se sådan her ud :

#####file: 1.txt
cvbcb
cbxcbxc
bxc
bxc
bxcbxcb
xc
bxc
xcb
xcb
xc
#####file: 2.txt
frefrtedfr
drtrtsert
dgsfgsfg
sdfg
#####file: 3.txt
fgsdgdsg
gdfgsdgsd
dgsdgsd
sdgs

Scriptet skal kunne splitte denne tekstfil op i en række filer. Linien "#####file: 1.txt" indikerer f.eks. at de linier som følger, skal gemmes i filen 1.txt. Tilsvarende naturligvis når scriptet kommer til "#####file: 2.txt", så skal det efterfølgende skrives til 2.txt.

Resultatet skal blive sådan at hvis jeg kører ovenstående textfil gennem scriptet, får jeg 3 textfiler ud (1.txt, 2.txt og 3.txt).

Hvor mange filer der skal skrives til, vides ikke på forhånd. Men starten på alle filer er angivet med "#####file: filnavn.ext"
Avatar billede erikjacobsen Ekspert
17. oktober 2002 - 14:25 #1
while (<>) {
  if (/^#####file: (.+)$/) {
    open(F,">$1");
  } else {
    print F $_;
  }
}

og kald scriptet på kommandolinien som

  perl ditperlscreipt dintekstfil
Avatar billede sb Nybegynder
17. oktober 2002 - 15:01 #2
Genialt. Så enkelt og elegant kan det altså gøres.

Eneste "minus", er at filerne ikke bliver lukket efter brug, men det bør jeg klare at tilføje selv.
Avatar billede erikjacobsen Ekspert
17. oktober 2002 - 16:26 #3
Det er ikke elegant, men det går nok alligevel. Jeg tror ikke
du behøver tilføje noget.
Avatar billede sb Nybegynder
25. oktober 2002 - 09:17 #4
Kom med et svar så får du nogle poeng...
Avatar billede erikjacobsen Ekspert
25. oktober 2002 - 11:01 #5
Point? Nej tak. Jeg samler ikke på den slags skrammel :)
Avatar billede sb Nybegynder
25. oktober 2002 - 11:14 #6
ok, det er dit valg :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester