Avatar billede karrieremanden Nybegynder
15. april 2005 - 22:36 Der er 8 kommentarer

slette oplysning i en fil

Hej Gruppe,

Jeg har en lille del af et større script her som skal kigge ind i en database fil og slette linien som matcher "username", men jeg får en fejlmeddelse hver gang jeg prøver på noget.

open (FILE,">$pwdfile");
foreach $line (@user) {
($useraccount,$group,$enc_pw,$ftp,$prev,$space,$fname,$lname)=split(/\:/,$line);
    if ($useraccount ne $username) {
      print FILE "$line";
    }

Er den helt gal eller skal der bare justers lidt :-)

Vh.

Niels
Avatar billede erikjacobsen Ekspert
15. april 2005 - 23:11 #1
en fejlmeddelse - hvilken?
Avatar billede karrieremanden Nybegynder
18. april 2005 - 08:18 #2
Hej ErikJ :-)

Den eneste fejlmeddelse jeg får i min browser er :
Script produced no output

Den rutine jeg nævner her skal indbygges i den rutine som sletter en brugers bibliteker på serveren. Du hjælp mig med få lavet en rutine der ændre et . til et @ og det virker bare som det skal nu .-)

I det samme script skal der lægges en rutine ind der kan slette følgende linier ( ud fra bruger navn ) i en vhostfil.

[bruger.web20]
Automatic Log mailto = bruger@web20.dk
CGI Directory = e:/wwwroot/cgi-bin/
CGI Run As =
Default Page = index.htm index.html index.stm index.asp index.php
Default User Max Space = 5
Default User Privileges = 2
Documents Directory = x:/wwwroot/
LDAP Authentication = false
Log File = w:/server/log/web20/bruger.web20.dk.log
Maximum Users = 100
Messages Directory = mes_std
NT Authentication = false
Password File = web20
Radius Authentication = false
Search Index = search
Tmp Directory = x:/wwwroot/tmp
Use MD5 crypt = false
Use SHA1 crypt = false
Use Unix crypt = false
User Max Space = 5
WEB-INF Directory =
WebBoard DB Cache = sqlite sqlite
WinCGI Directory = /cgi-win/



Niels
Avatar billede erikjacobsen Ekspert
18. april 2005 - 09:32 #3
Hvis scriptet ikke laver output, er det vel fint nok at browseren siger det ;)

Men hvad er det du skal have slettet? Er det alt fra [bruger.web20] indtil men ikke med [bruger2.web20]  ??
Avatar billede karrieremanden Nybegynder
18. april 2005 - 11:12 #4
Hej erik,

Det du hjalp mig med tidligere med at ændre . til @ virker fint, men jeg har en database ( plain text fil ) med alle brugerne i, jeg kan ikke få scriptet til at kigge efter brugernavnet og slette det.

Brugernavnet står på en linie i filen...

Det andet du skriver med [bruger.web20.dk] osv osv.. er også et lille problem jeg gerne ville have løst, men det kommer i en anden tråd.. har ikke hjerne celler nok til at beskæftige mig med begge dele *griner*

Ud fra hvad jeg kan se, så mangler der noget i den stump jeg har skrevet først.
Scriptet kigger i filen efter brugernavnet, finder den brugernavnet skal den værdien i $useraccout til "null" altså ingen ting..

men hvordan ?

Jeg kan godt sende scriptet til dig, men vil gerne have at du ikke ændre i det. Hvis du kan / vil hjælpe vil du så ikke skrive din del i en txt fil så jeg kan studere det og forhåbenligt lære af det ?

Venlig hilsen

Niels
Avatar billede karrieremanden Nybegynder
19. april 2005 - 12:57 #5
Hej Erik,

Jeg har lavet en test database som mit script arbejder med.

**
test301.web20.dk:web20.dk:85916C6C90A2367F8C9585A8B5A90F5B83C1B410193CB54E:E|/wwwroot/web20/test301/:2:22:ghgfh fghgf
test301@web20.dk:web20.dk:85916C6C90A2:E|/wwwroot/web20/test301/:2:22:ghgfh fghgf
test303.web20.dk:web20.dk:85916C6C90A2:E|/wwwroot/web20/test303/:2:22:ghgfh fghgf
test303@web20.dk:web20.dk:85916C6C90A2:E|/wwwroot/web20/test303/:2:22:ghgfh fghgf
test304.web20.dk:web20.dk:85916C6C90A2:E|/wwwroot/web20/test304/:2:22:ghgfh fghgf
test304@web20.dk:web20.dk:85916C6C90A2:E|/wwwroot/web20/test304/:2:22:ghgfh fghgf

Denne stump script som er en del af et andet script skal slette eks. test303.web20.dk linien ud
og test303@web20.dk og linien ud. resten skal den ikke røre ved.

script stumpen som jeg har ser således ud.
**

## Test ##
$linee = "test";

$username får den fra et input felt
##
$pwdfile ="\test";

open (FILE,">$pwdfile");
foreach $line (@user) {
($useraccount,$group,$enc_pw,$ftp,$prev,$space,$fname,$lname)=split(/\:/,$line);
    if ($useraccount ne $username) {
      print FILE "$line";
    }
}

Niels
Avatar billede erikjacobsen Ekspert
19. april 2005 - 15:12 #6
Jeg prøver at få tid til at kigge på det.
Avatar billede karrieremanden Nybegynder
16. maj 2005 - 11:01 #7
Hej erikJ.

Jeg ville lige høre om du evt. havde lys / tid til at hjælpe mig med finde frem til en løsning på hvordan jeg kunne slette nedenstående i en fil:

[bruger.web20]
Automatic Log mailto = bruger@web20.dk
CGI Directory = e:/wwwroot/cgi-bin/
CGI Run As =
Default Page = index.htm index.html index.stm index.asp index.php
Default User Max Space = 5
Default User Privileges = 2
Documents Directory = x:/wwwroot/
LDAP Authentication = false
Log File = w:/server/log/web20/bruger.web20.dk.log
Maximum Users = 100
Messages Directory = mes_std
NT Authentication = false
Password File = web20
Radius Authentication = false
Search Index = search
Tmp Directory = x:/wwwroot/tmp
Use MD5 crypt = false
Use SHA1 crypt = false
Use Unix crypt = false
User Max Space = 5
WEB-INF Directory =
WebBoard DB Cache = sqlite sqlite
WinCGI Directory = /cgi-win/

[Bruger.web20.dk] filen indholder andre tilsvarende oplysninger og der skal vist nok slettes mellem [..... og til slutningen /cgi-win/

eller indtil den næste [bruger1.web20.dk]

er det noget du kan hjælpe med ?Script delen skal ligge inde i det script som sletter en bruger.

På forhånd tak.

Niels
Avatar billede erikjacobsen Ekspert
16. maj 2005 - 22:07 #8
Det kniber med tiden lige nu og her.
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