/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
newbee shell script
Fra : Troels Thomsen


Dato : 30-08-04 13:38

Jeg vil gerne lave et script der zero'er alle filer i et bib rekursivt.
Derefter vil jeg touche dem 3 dage i træk. Dermed ryger de ud af et backup
system, hvor der bliver betalt penge per megabyte. (Og hvor jeg ikke har
adgang til administrations-interfacet)

Første forsøg:
for I in *.*
do
echo File deleted by my script > $I
done

Den er jo så ikke rekursiv ...
hvordan .... ?

"find" giver mig jo en fin liste af filnavne, rekursivt. Måske jeg kunne få
dem pipet ind på én eller anden måde....

(jeg kører cygwin på en w2k)

På forhånd tak
tpt



 
 
Thomas S. Iversen (30-08-2004)
Kommentar
Fra : Thomas S. Iversen


Dato : 30-08-04 14:17

On 2004-08-30, Troels Thomsen <troels.thomsen@mailteledk> wrote:
> Jeg vil gerne lave et script der zero'er alle filer i et bib rekursivt.
> Derefter vil jeg touche dem 3 dage i træk. Dermed ryger de ud af et backup
> system, hvor der bliver betalt penge per megabyte. (Og hvor jeg ikke har
> adgang til administrations-interfacet)
>
> Første forsøg:
> for I in *.*
> do
> echo File deleted by my script > $I
> done
>
> Den er jo så ikke rekursiv ...
> hvordan .... ?
>
> "find" giver mig jo en fin liste af filnavne, rekursivt. Måske jeg kunne få
> dem pipet ind på én eller anden måde....

Hvad med noget i stil med

find . -print0 | xargs -0 <kommando>

Thomas

Ole Hansen (31-08-2004)
Kommentar
Fra : Ole Hansen


Dato : 31-08-04 10:17

"Troels Thomsen" <troels.thomsen@mailteledk> writes:

> Første forsøg:
> for I in *.*
> do
> echo File deleted by my script > $I
> done
>
> Den er jo så ikke rekursiv ...
> hvordan .... ?

$ find . -type f -exec echo "File deleted by...." > {} \;

Kunne være en mulighed..

> På forhånd tak
> tpt

--
Ole Hansen

Kasper Dupont (31-08-2004)
Kommentar
Fra : Kasper Dupont


Dato : 31-08-04 12:39

Ole Hansen wrote:
>
> $ find . -type f -exec echo "File deleted by...." > {} \;

Der er noget galt med placering af anførselstegn i
den kommando. Jeg er ikke 100% sikker på den rigtige
måde, men det her ser ud til at virke:

find . -type f -exec sh -c 'echo "File deleted by...." > {}' \;

--
Kasper Dupont -- der bruger for meget tid paa usenet.
#define _(_)_"rdk"/* This is my real email address */
char _[]=_("kaspe")_("brics");_[7]='@';_[13]='.';puts(_);

Kent Friis (31-08-2004)
Kommentar
Fra : Kent Friis


Dato : 31-08-04 16:22

Den Tue, 31 Aug 2004 13:38:48 +0200 skrev Kasper Dupont:
> Ole Hansen wrote:
>>
>> $ find . -type f -exec echo "File deleted by...." > {} \;
>
> Der er noget galt med placering af anførselstegn i
> den kommando. Jeg er ikke 100% sikker på den rigtige
> måde, men det her ser ud til at virke:
>
> find . -type f -exec sh -c 'echo "File deleted by...." > {}' \;

find . -type f -exec echo File deleted by.... \> "{}" \;

skulle være nok.

Mvh
Kent
--
Help test this great MMORPG game - http://www.eternal-lands.com/

Kasper Dupont (31-08-2004)
Kommentar
Fra : Kasper Dupont


Dato : 31-08-04 21:49

Kent Friis wrote:
>
> Den Tue, 31 Aug 2004 13:38:48 +0200 skrev Kasper Dupont:
> >
> > find . -type f -exec sh -c 'echo "File deleted by...." > {}' \;
>
> find . -type f -exec echo File deleted by.... \> "{}" \;
>
> skulle være nok.

Men det er det af en eller anden grund ikke. Hvis jeg
skriver den kommando du foreslår bliver > tegnet bare
udskrevet til stdout. Der sker ingen omdirrigering af
output.

--
Kasper Dupont -- der bruger for meget tid paa usenet.
#define _(_)_"rdk"/* This is my real email address */
char _[]=_("kaspe")_("brics");_[7]='@';_[13]='.';puts(_);

Troels Thomsen (01-09-2004)
Kommentar
Fra : Troels Thomsen


Dato : 01-09-04 13:24


wow, find kan selv fyre en kommando af.
Der er dog et problem med med mellemrum i filnavnet..
(det havde min oprindelige 'for' sætning også)

tpt

"Kasper Dupont" <remove.invalid@nospam.lir.dk.invalid> skrev i en meddelelse
news:4134E429.67454068@nospam.lir.dk.invalid...
> Kent Friis wrote:
> >
> > Den Tue, 31 Aug 2004 13:38:48 +0200 skrev Kasper Dupont:
> > >
> > > find . -type f -exec sh -c 'echo "File deleted by...." > {}' \;
> >
> > find . -type f -exec echo File deleted by.... \> "{}" \;
> >
> > skulle være nok.
>
> Men det er det af en eller anden grund ikke. Hvis jeg
> skriver den kommando du foreslår bliver > tegnet bare
> udskrevet til stdout. Der sker ingen omdirrigering af
> output.
>
> --
> Kasper Dupont -- der bruger for meget tid paa usenet.
> #define _(_)_"rdk"/* This is my real email address */
> char _[]=_("kaspe")_("brics");_[7]='@';_[13]='.';puts(_);



Kent Friis (01-09-2004)
Kommentar
Fra : Kent Friis


Dato : 01-09-04 18:36

Den Tue, 31 Aug 2004 22:48:41 +0200 skrev Kasper Dupont:
> Kent Friis wrote:
>>
>> Den Tue, 31 Aug 2004 13:38:48 +0200 skrev Kasper Dupont:
>> >
>> > find . -type f -exec sh -c 'echo "File deleted by...." > {}' \;
>>
>> find . -type f -exec echo File deleted by.... \> "{}" \;
>>
>> skulle være nok.
>
> Men det er det af en eller anden grund ikke. Hvis jeg
> skriver den kommando du foreslår bliver > tegnet bare
> udskrevet til stdout. Der sker ingen omdirrigering af
> output.

Doooh, du har ret, > bliver fortolket, så den går ikke uden at have en
sh med.

Mvh
Kent
--
Help test this great MMORPG game - http://www.eternal-lands.com/

Lasse Hillerøe Peter~ (01-09-2004)
Kommentar
Fra : Lasse Hillerøe Peter~


Dato : 01-09-04 21:55

In article <41360876$0$202$14726298@news.sunsite.dk>,
Kent Friis <nospam@nospam.invalid> wrote:

> Den Tue, 31 Aug 2004 22:48:41 +0200 skrev Kasper Dupont:
> > Kent Friis wrote:
> >>
> >> Den Tue, 31 Aug 2004 13:38:48 +0200 skrev Kasper Dupont:
> >> >
> >> > find . -type f -exec sh -c 'echo "File deleted by...." > {}' \;
> >>
> >> find . -type f -exec echo File deleted by.... \> "{}" \;
> >>
> >> skulle være nok.
> >
> > Men det er det af en eller anden grund ikke. Hvis jeg
> > skriver den kommando du foreslår bliver > tegnet bare
> > udskrevet til stdout. Der sker ingen omdirrigering af
> > output.
>
> Doooh, du har ret, > bliver fortolket, så den går ikke uden at have en
> sh med.

Ah, I *dette* tilfælde kan jeg da endelig falde i med mit favorittrick
uden at folk (dvs Thorbjørn) straks skriger "det forker for meget".
Tværtimod:

find . -type f |while read f ; do echo "file deleted by..." >"$f" ; done

-Lasse

Kent Friis (01-09-2004)
Kommentar
Fra : Kent Friis


Dato : 01-09-04 21:58

Den Wed, 01 Sep 2004 22:55:25 +0200 skrev Lasse Hillerøe Petersen:
> In article <41360876$0$202$14726298@news.sunsite.dk>,
> Kent Friis <nospam@nospam.invalid> wrote:
>
>> Den Tue, 31 Aug 2004 22:48:41 +0200 skrev Kasper Dupont:
>> > Kent Friis wrote:
>> >>
>> >> Den Tue, 31 Aug 2004 13:38:48 +0200 skrev Kasper Dupont:
>> >> >
>> >> > find . -type f -exec sh -c 'echo "File deleted by...." > {}' \;
>> >>
>> >> find . -type f -exec echo File deleted by.... \> "{}" \;
>> >>
>> >> skulle være nok.
>> >
>> > Men det er det af en eller anden grund ikke. Hvis jeg
>> > skriver den kommando du foreslår bliver > tegnet bare
>> > udskrevet til stdout. Der sker ingen omdirrigering af
>> > output.
>>
>> Doooh, du har ret, > bliver fortolket, så den går ikke uden at have en
>> sh med.
>
> Ah, I *dette* tilfælde kan jeg da endelig falde i med mit favorittrick
> uden at folk (dvs Thorbjørn) straks skriger "det forker for meget".
> Tværtimod:
>
> find . -type f |while read f ; do echo "file deleted by..." >"$f" ; done

Den virker bare ikke med visse filnavne...

Mvh
Kent
--
Help test this great MMORPG game - http://www.eternal-lands.com/

Lasse Hillerøe Peter~ (02-09-2004)
Kommentar
Fra : Lasse Hillerøe Peter~


Dato : 02-09-04 20:52

In article <413637dd$0$202$14726298@news.sunsite.dk>,
Kent Friis <nospam@nospam.invalid> wrote:

> > find . -type f |while read f ; do echo "file deleted by..." >"$f" ; done
>
> Den virker bare ikke med visse filnavne...

Såsom?

-Lasse

Kent Friis (02-09-2004)
Kommentar
Fra : Kent Friis


Dato : 02-09-04 22:00

Den Thu, 02 Sep 2004 21:51:57 +0200 skrev Lasse Hillerøe Petersen:
> In article <413637dd$0$202$14726298@news.sunsite.dk>,
> Kent Friis <nospam@nospam.invalid> wrote:
>
>> > find . -type f |while read f ; do echo "file deleted by..." >"$f" ; done
>>
>> Den virker bare ikke med visse filnavne...
>
> Såsom?

kfr:kfr$ mkdir tmp
kfr:kfr$ cd tmp
kfr:tmp$ echo "forbier" >'a
> b'
kfr:tmp$ find . -type f |while read f ; do echo "file deleted by..." >"$f" ;
done
kfr:tmp$ cat 'a
> b'
forbier
kfr:tmp$ ls
a a?b b
kfr:tmp$

Resultat: I stedet for en fil, er der nu tre filer. Den oprindelige, samt
de to halvdele af filnavnet, some "while read" klippede over.

Mvh
Kent
--
Help test this great MMORPG game - http://www.eternal-lands.com/

Lasse Hillerøe Peter~ (03-09-2004)
Kommentar
Fra : Lasse Hillerøe Peter~


Dato : 03-09-04 01:06

In article <413789b8$0$215$14726298@news.sunsite.dk>,
Kent Friis <nospam@nospam.invalid> wrote:

> kfr:tmp$ echo "forbier" >'a
> > b'

Det er ikke anderledes end den oprindelige find løsning.

Og hånden på hjertet: har du linieskift i noget filnavn, bortset fra
ovenstående eksempel?

-Lasse

Thorbjoern Ravn Ande~ (03-09-2004)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 03-09-04 08:48

"Lasse Hillerøe Petersen" <lhp+news@toft-hp.dk> writes:

> Og hånden på hjertet: har du linieskift i noget filnavn, bortset fra
> ovenstående eksempel?

Det ændrer ikke på at der er vist et lovligt modeksempel på din stump
kode :)

Måske hvis du lavede noget med -print0? \0 er svjv ikke en gyldig del
af et filnavn (også svært at lave pænt i C).
--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Kent Friis (03-09-2004)
Kommentar
Fra : Kent Friis


Dato : 03-09-04 19:17

Den 03 Sep 2004 09:48:05 +0200 skrev Thorbjoern Ravn Andersen:
> "Lasse Hillerøe Petersen" <lhp+news@toft-hp.dk> writes:
>
>> Og hånden på hjertet: har du linieskift i noget filnavn, bortset fra
>> ovenstående eksempel?
>
> Det ændrer ikke på at der er vist et lovligt modeksempel på din stump
> kode :)
>
> Måske hvis du lavede noget med -print0? \0 er svjv ikke en gyldig del
> af et filnavn (også svært at lave pænt i C).

\0 og '/' er de eneste to tegn der ikke er gyldige i filnavne på
*nix.

(Jeg mindes dengang en kollega spurgte "hvordan har du lavet den" da han
opdagede at jeg havde gemt nogen filer i et "..." directory. Det er
der ikke noget usædvanligt i på en *nix, hvorimod Windows ikke engang
kunne lide mit "c++" directory).

Mvh
Kent
--
Help test this great MMORPG game - http://www.eternal-lands.com/

Lasse Hillerøe Peter~ (03-09-2004)
Kommentar
Fra : Lasse Hillerøe Peter~


Dato : 03-09-04 21:53

In article <4138b50c$0$202$14726298@news.sunsite.dk>,
Kent Friis <nospam@nospam.invalid> wrote:


> (Jeg mindes dengang en kollega spurgte "hvordan har du lavet den" da han
> opdagede at jeg havde gemt nogen filer i et "..." directory. Det er
> der ikke noget usædvanligt i på en *nix, hvorimod Windows ikke engang
> kunne lide mit "c++" directory).

En sysadmin jeg kendte havde en gang for mange år siden en ftpserver med
et incoming dir som både kunne læses og skrives. Det blev selvfølgelig
opdaget af warez-folk, som brugte det som transitlager. Jeg husker ikke
hvordan vi opdagede det, eller præcist hvad navnet var, men deres
directory var i hvert fald navngivet på en måde (under anvendelse af ^H
og ^M mm) så det ikke kunne ses eller virkede påfaldende med ls eller ls
-l. Hurra for cat -v.

-Lasse

Lasse Hillerøe Peter~ (03-09-2004)
Kommentar
Fra : Lasse Hillerøe Peter~


Dato : 03-09-04 21:46

In article <yu2brgn23pm.fsf@luhmann.netc.dk>,
Thorbjoern Ravn Andersen <nospam0000@c.dk> wrote:

> "Lasse Hillerøe Petersen" <lhp+news@toft-hp.dk> writes:
>
> > Og hånden på hjertet: har du linieskift i noget filnavn, bortset fra
> > ovenstående eksempel?
>
> Det ændrer ikke på at der er vist et lovligt modeksempel på din stump
> kode :)

Nej, men som sagt var det da i det mindste det samme problem med den
originale find-løsning.

Derudover så tror jeg der er mange "professionelle" Unix ting, som
indeholder scripts der vil bryde sammen under de forhold.

Tag nu fx GNU cpio. Den tager som stdin en liste af filnavne - på hver
sin linie. Fra mansiden:

In copy-out mode, cpio copies files into an archive. It
reads a list of filenames, one per line, on the standard
input, and writes the archive onto the standard output.

GNU cpio har så ganske vist option -0 eller --null som fungerer sammen
med GNU find's -print0, men det er altså en non-POSIX udvidelse og det
er ikke *default* opførsel - den følger standarden. Når standarden er
således, er det vel af historiske årsager. Man kan så diskutere om det
er rimeligt eller ej, og om eller hvor meget man skal forsøge at
kompensere for det.

Tar vi pax standarden fra POSIX siger den:
write
In write mode (when -w is specified, but -r is not), pax
shall write the contents of the file operands to the standard
output in an archive format. If no file operands are specified,
a list of files to copy, one per line, shall be read from the
************
standard input. A file of type directory shall include all of
the files in the file hierarchy rooted at the file.

Så selvom Unix tillader alle tegn undtagen "/" i filnavne, så er der
delstandarder der klart forventer at et filnavn kan stå på en linie.

Jeg skal være den første til at be om at man passer på mellemrum i
filnavne, men ved linieskift (og andre kontroltegn), der sætter min
dovenskab altså en grænse.

Alternativt må man helt sætte sig ud over POSIX, og så kan jeg i
princippet ikke se nogen grund til at et filnavn ikke kan indeholde alle
tegn inklusive skråstreg. Så kan man selvfølgelig ikke referere til et
stinavn som nu, men må benytte fx noget ala LDAP distinguished name:
d="usr",d="local",d="a very long directory name
containing newline and \"",f="min/fil". Men så snakker vi vist ikke Unix
længere.

-Lasse

Thorbjoern Ravn Ande~ (03-09-2004)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 03-09-04 23:57

"Lasse Hillerøe Petersen" <lhp+news@toft-hp.dk> writes:

> Så selvom Unix tillader alle tegn undtagen "/" i filnavne, så er der
> delstandarder der klart forventer at et filnavn kan stå på en linie.

Dette var i mine øjne en klar designfejl. Tegn under 32 burde ikke
havde været tilladt.

> tegn inklusive skråstreg. Så kan man selvfølgelig ikke referere til et
> stinavn som nu, men må benytte fx noget ala LDAP distinguished name:
> d="usr",d="local",d="a very long directory name
> containing newline and \"",f="min/fil". Men så snakker vi vist ikke Unix
> længere.

Du sikkerhedskopierer dit hjemmekatalog i et hjemmestrikket filsystem
oven på en LDAP-server? Og du har skrevet filsystemkoden i ksh?

Er det også dig der har skrevet en webserver i sh?

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Kent Friis (04-09-2004)
Kommentar
Fra : Kent Friis


Dato : 04-09-04 07:57

Den 04 Sep 2004 00:57:08 +0200 skrev Thorbjoern Ravn Andersen:
> "Lasse Hillerøe Petersen" <lhp+news@toft-hp.dk> writes:
>
>> Så selvom Unix tillader alle tegn undtagen "/" i filnavne, så er der
>> delstandarder der klart forventer at et filnavn kan stå på en linie.
>
> Dette var i mine øjne en klar designfejl. Tegn under 32 burde ikke
> havde været tilladt.

Den dag man forsøger at implementere unicode, bliver selv det at '\0'
ikke er tilladt til et problem.

(og så begynder folk at finde på tåbelige workarounds som utf-8).

Mvh
Kent
--
Help test this great MMORPG game - http://www.eternal-lands.com/

Thorbjoern Ravn Ande~ (04-09-2004)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 04-09-04 18:36

Kent Friis <nospam@nospam.invalid> writes:

> Den dag man forsøger at implementere unicode, bliver selv det at '\0'
> ikke er tilladt til et problem.

Unicode kan ikke proppes let ned i et bytesystem.

> (og så begynder folk at finde på tåbelige workarounds som utf-8).

Mnjah. Det er en elegant løsning hvis man alligevel sitter i US-ASCII
hele tiden.

Der er jo ingenting der forhindrer dig i at lave en ren Unicode
version af ext2/3.
--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Lasse Hillerøe Peter~ (05-09-2004)
Kommentar
Fra : Lasse Hillerøe Peter~


Dato : 05-09-04 22:34

In article <yu2vfeulyxf.fsf@luhmann.netc.dk>,
Thorbjoern Ravn Andersen <nospam0000@c.dk> wrote:

> Unicode kan ikke proppes let ned i et bytesystem.

Sludder, man skal vel bare vælge en endianness? (Og det behøver man
strengt taget ikke engang: der er jo et tegn (hex FFFE?) man kan bruge
til formålet, hvis jeg ikke husker helt forkert.)

-Lasse

Thorbjoern Ravn Ande~ (06-09-2004)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 06-09-04 07:57

"Lasse Hillerøe Petersen" <lhp+news@toft-hp.dk> writes:

> > Unicode kan ikke proppes let ned i et bytesystem.
>
> Sludder, man skal vel bare vælge en endianness? (Og det behøver man
> strengt taget ikke engang: der er jo et tegn (hex FFFE?) man kan bruge
> til formålet, hvis jeg ikke husker helt forkert.)

Og så skal alle læse/skrive rutiner lige laves om.

Hvilke systemer vil let kunne håndtere Unicode som char?
--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Troels Thomsen (12-09-2004)
Kommentar
Fra : Troels Thomsen


Dato : 12-09-04 09:45


Ehhh drenge, fandt vi nogensinde ud af at lave en version der kan håndtere
mellemrum ?
(Filerne ligger på en nt server, så der er hverken linieskift eller andre
escapede monstre imellem, men formodentlig nogle æøå'er)

mvh tpt



Thorbjoern Ravn Ande~ (12-09-2004)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 12-09-04 11:30

"Troels Thomsen" <troels.thomsen@mailteledk> writes:

> (Filerne ligger på en nt server

Hvorfor vil du så behandle dem med et shellscript?

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Lasse Hillerøe Peter~ (12-09-2004)
Kommentar
Fra : Lasse Hillerøe Peter~


Dato : 12-09-04 11:37

In article <41440c67$0$214$edfadb0f@dread14.news.tele.dk>,
"Troels Thomsen" <troels.thomsen@mailteledk> wrote:

> Ehhh drenge, fandt vi nogensinde ud af at lave en version der kan håndtere
> mellemrum ?
> (Filerne ligger på en nt server, så der er hverken linieskift eller andre
> escapede monstre imellem, men formodentlig nogle æøå'er)
>
> mvh tpt

Den jeg postede havde anførselstegn i >"$f", og jeg testede faktisk at
den virkede med navne med mellemrum. Æøå skulle ikke betyde noget.

Men test for en god ordens skyld selv på dit eget system.

-Lasse

Lasse Hillerøe Peter~ (04-09-2004)
Kommentar
Fra : Lasse Hillerøe Peter~


Dato : 04-09-04 12:47

In article <yu2oeknq7uj.fsf@luhmann.netc.dk>,
Thorbjoern Ravn Andersen <nospam0000@c.dk> wrote:

> Du sikkerhedskopierer dit hjemmekatalog i et hjemmestrikket filsystem
> oven på en LDAP-server? Og du har skrevet filsystemkoden i ksh?

Nej det gør jeg ikke, men ideen er måske ikke helt tosset.

> Er det også dig der har skrevet en webserver i sh?

Nej, men nu du siger det, jeg overvejer faktisk at skrive en i Algol68.
(Som Steve Bourne også var "fan" af - slå selv "bournegol" op.)

-Lasse

Thorbjoern Ravn Ande~ (04-09-2004)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 04-09-04 18:37

"Lasse Hillerøe Petersen" <lhp+news@toft-hp.dk> writes:

> Nej, men nu du siger det, jeg overvejer faktisk at skrive en i Algol68.
> (Som Steve Bourne også var "fan" af - slå selv "bournegol" op.)

Algol68 er meget fint, men kan det skalere?
--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Lasse Hillerøe Peter~ (05-09-2004)
Kommentar
Fra : Lasse Hillerøe Peter~


Dato : 05-09-04 22:29

In article <yu2r7pilyvz.fsf@luhmann.netc.dk>,
Thorbjoern Ravn Andersen <nospam0000@c.dk> wrote:

> Algol68 er meget fint, men kan det skalere?

Det var man vist ikke så opmærksom på i 70erne, og videreudviklingen af
standarden har desværre ligget ret stille, fordi visse prominente folk
(Wirth, Naur, Hoare mfl) stod af komiteen, fordi de dels måske ikke
rigtigt forstod logikken bag, dels måske ikke rigtigt syntes det var så
praktisk, dels måske ikke kom helt så godt ud af det med van
Wijngaarden. Så i stedet fik vi sprog som Pascal og C, og siden Ada og
C++ (og siden Delphi og Java), som heller ikke skalerer, men dog er
bedre til at foregive at de kan skalere.

-Lasse

Thorbjoern Ravn Ande~ (06-09-2004)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 06-09-04 07:55

"Lasse Hillerøe Petersen" <lhp+news@toft-hp.dk> writes:

> > Algol68 er meget fint, men kan det skalere?
>
> Det var man vist ikke så opmærksom på i 70erne, og videreudviklingen af
> standarden har desværre ligget ret stille, fordi visse prominente folk
> (Wirth, Naur, Hoare mfl) stod af komiteen, fordi de dels måske ikke
> rigtigt forstod logikken bag, dels måske ikke rigtigt syntes det var så
> praktisk, dels måske ikke kom helt så godt ud af det med van
> Wijngaarden. Så i stedet fik vi sprog som Pascal og C, og siden Ada og
> C++ (og siden Delphi og Java), som heller ikke skalerer, men dog er
> bedre til at foregive at de kan skalere.

Jeg kan forstå at der ikke er bred forståelse af hvad jeg mener med
skalere.

Der ligger egentlig flere ting i det, nu hvor jeg tænker efter:

* Kan man bygge store ting i det - en webserver i produktionskvalitet,
fx? Et udviklingsmiljø?
* Kan det udnytte hardwaren ordentligt? Fx sprede sig over flere
processorer i en multi-CPU-maskine?

Og så skal det jo også helst være vedligeholdt. Der er fx ikke meget
sjovt i at programmere i Comal80 disse dage.

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Lasse Hillerøe Peter~ (06-09-2004)
Kommentar
Fra : Lasse Hillerøe Peter~


Dato : 06-09-04 08:21

In article <yu2pt4zevj6.fsf@luhmann.netc.dk>,
Thorbjoern Ravn Andersen <nospam0000@c.dk> wrote:

> Jeg kan forstå at der ikke er bred forståelse af hvad jeg mener med
> skalere.

Det har du da egentlig ret i.

> Der ligger egentlig flere ting i det, nu hvor jeg tænker efter:

Du havde heller ikke selv den store forståelse, lader det til.

> * Kan man bygge store ting i det - en webserver i produktionskvalitet,
> fx? Et udviklingsmiljø?

Det er, som jeg vist antydede, vanskeligt at bedømme, med mindre man
bliver enige om mere præcise definitioner af kriterierne. I praksis er
det vel i langt højere grad et spørgsmål om programmørerne end om
sproget. Hvad er fx en webserver i produktionskvalitet? thttpd? Apache
httpd? - yrk - IIS?

> * Kan det udnytte hardwaren ordentligt? Fx sprede sig over flere
> processorer i en multi-CPU-maskine?

Jeg beklager, men det er altså en egenskab ved implementationen, ikke
ved selve sproget. I tilfældet Algol68 kan man så tilføje, at sproget
faktisk som et af få har konstruktioner til parallel programmering.

-Lasse

Thorbjoern Ravn Ande~ (06-09-2004)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 06-09-04 08:32

"Lasse Hillerøe Petersen" <lhp+news@toft-hp.dk> writes:

> > Der ligger egentlig flere ting i det, nu hvor jeg tænker efter:
>
> Du havde heller ikke selv den store forståelse, lader det til.

Intuitiv != formel.

Min oprindelige intuitive formodning var hvorvidt man kunne skrive
både små, trivielle programmer i det, og også store, komplicerede
applikationer.´ Det kan man i Java og C* i dag. Det er svært i Perl i
dag.

> > * Kan det udnytte hardwaren ordentligt? Fx sprede sig over flere
> > processorer i en multi-CPU-maskine?
>
> Jeg beklager, men det er altså en egenskab ved implementationen, ikke
> ved selve sproget. I tilfældet Algol68 kan man så tilføje, at sproget
> faktisk som et af få har konstruktioner til parallel programmering.

Man kan jo lave mange sjove ting med implementationsegenskaber. Jeg
mener det er en dårlig ting hvis det ikke er bygget ind i sproget, da
det gør det uporterbart (hardware/platformsbundet).

Men ikke så meget snak - kan du ikke lige lave noget anvendeligt
algol68 software?

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Kent Friis (03-09-2004)
Kommentar
Fra : Kent Friis


Dato : 03-09-04 19:14

Den Fri, 03 Sep 2004 02:05:40 +0200 skrev Lasse Hillerøe Petersen:
> In article <413789b8$0$215$14726298@news.sunsite.dk>,
> Kent Friis <nospam@nospam.invalid> wrote:
>
>> kfr:tmp$ echo "forbier" >'a
>> > b'
>
> Det er ikke anderledes end den oprindelige find løsning.
>
> Og hånden på hjertet: har du linieskift i noget filnavn, bortset fra
> ovenstående eksempel?

Nej, men jeg har set lige så mange eksempler på scripts der kløjs
i " " og lignende, og dem har jeg en del af.

Og den dag scriptet er blevet udvidet, og køres via sudo af folk der
absolut ikke skal i nærheden af root-passwordet, er det ikke godt at
et lidt afvigende filnavn er nok til at narre scriptet til at oprette
nye filer, eller overskrive nogen helt andre end det var meningen.

Mvh
Kent
--
Help test this great MMORPG game - http://www.eternal-lands.com/

Thorbjoern Ravn Ande~ (01-09-2004)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 01-09-04 22:53

"Lasse Hillerøe Petersen" <lhp+news@toft-hp.dk> writes:

> Ah, I *dette* tilfælde kan jeg da endelig falde i med mit favorittrick
> uden at folk (dvs Thorbjørn) straks skriger "det forker for
> meget".

Du lægger mig ord i munden - vil du ikke godt lade være med det?

Jeg personligt er temmelig ligeglad med om man skriver cat en gang for
meget, eller om det forker 100.000 gange *hvis* det drukner i hvad der
ellers bliver gjort.

Fx sidder jeg lige og tænker på hvor mange af de glade "Useless
cat"-folk der sidder i en halvgennemsigtig xterm med en
farveladebaggrund?


--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Kent Friis (02-09-2004)
Kommentar
Fra : Kent Friis


Dato : 02-09-04 18:39

Den 01 Sep 2004 23:52:39 +0200 skrev Thorbjoern Ravn Andersen:
> "Lasse Hillerøe Petersen" <lhp+news@toft-hp.dk> writes:
>
>> Ah, I *dette* tilfælde kan jeg da endelig falde i med mit favorittrick
>> uden at folk (dvs Thorbjørn) straks skriger "det forker for
>> meget".
>
> Du lægger mig ord i munden - vil du ikke godt lade være med det?
>
> Jeg personligt er temmelig ligeglad med om man skriver cat en gang for
> meget, eller om det forker 100.000 gange *hvis* det drukner i hvad der
> ellers bliver gjort.
>
> Fx sidder jeg lige og tænker på hvor mange af de glade "Useless
> cat"-folk der sidder i en halvgennemsigtig xterm med en
> farveladebaggrund?

Hey, det er ikke alle der har GHz-maskiner. Jo flere "katte", jo færre
ressourcer til sjov.

(Og når ens yndlingsspil til tider når ned på 1 FPS, så skal der spares
overalt).

Mvh
Kent
--
Help test this great MMORPG game - http://www.eternal-lands.com/

Thorbjoern Ravn Ande~ (02-09-2004)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 02-09-04 19:45

Kent Friis <nospam@nospam.invalid> writes:

> (Og når ens yndlingsspil til tider når ned på 1 FPS, så skal der spares
> overalt).

Hvis du er for fedtet til at købe et ordentligt 3D-kort, så er det
godt der er nogen der har været så venlige at lave en textmode-driver.

http://icculus.org/~chunky/ut/aaut/

Jeg har prøvet ttyquake i praksis. Det kører helt fint i en
tekstkonsol, men man bliver hurtigt mør.
--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Lasse Hillerøe Peter~ (02-09-2004)
Kommentar
Fra : Lasse Hillerøe Peter~


Dato : 02-09-04 20:53

In article <yu2zn49r714.fsf@luhmann.netc.dk>,
Thorbjoern Ravn Andersen <nospam0000@c.dk> wrote:
>
> Du lægger mig ord i munden - vil du ikke godt lade være med det?

Slap af, der var en kæmpe-smiley bagefter.

-Lasse

Adam Sjøgren (05-09-2004)
Kommentar
Fra : Adam Sjøgren


Dato : 05-09-04 23:00

On Sun, 05 Sep 2004 23:29:24 +0200, Lasse wrote:

> In article <yu2r7pilyvz.fsf@luhmann.netc.dk>,
> Thorbjoern Ravn Andersen <nospam0000@c.dk> wrote:

>> Algol68 er meget fint, men kan det skalere?

[...snip...]

> Så i stedet fik vi sprog som Pascal og C, og siden
> Ada og C++ (og siden Delphi og Java), som heller ikke skalerer, men
> dog er bedre til at foregive at de kan skalere.

Hvad er definitionen på om et sprog "skalerer"/"kan skalere"?


Mvh.

--
"Ett, två, tre, pang på rödbetan." Adam Sjøgren
asjo@koldfront.dk

Lasse Hillerøe Peter~ (05-09-2004)
Kommentar
Fra : Lasse Hillerøe Peter~


Dato : 05-09-04 23:42

In article <87acw4xtpo.fsf@koldfront.dk>,
asjo@koldfront.dk (Adam Sjøgren) wrote:

> On Sun, 05 Sep 2004 23:29:24 +0200, Lasse wrote:
>
> > In article <yu2r7pilyvz.fsf@luhmann.netc.dk>,
> > Thorbjoern Ravn Andersen <nospam0000@c.dk> wrote:
>
> >> Algol68 er meget fint, men kan det skalere?
>
> [...snip...]
>
> > Så i stedet fik vi sprog som Pascal og C, og siden
> > Ada og C++ (og siden Delphi og Java), som heller ikke skalerer, men
> > dog er bedre til at foregive at de kan skalere.
>
> Hvad er definitionen på om et sprog "skalerer"/"kan skalere"?

Tjah, hvis jeg husker ret fra lineær algebra (som jeg i parentes
bemærket altid er dumpet i med bravour), så er skalering noget med at
gange en skalar på en vektor. Så et sprog kan vel skalere hvis det kan
gange en vektor med en real.

Spøg til side: som jeg opfatter det, skalerer et sprog, hvis man kan
lave vilkårligt store programmer i det. Men det er alligevel ret
diffust. For i princippet kan man vel skrive vilkårligt store programmer
i selv FORTRAN IV, alene med anvendelse af assignments og (computed)
GOTO. Mener man derimod OOP, Abstrakte Datatyper og Modularitet mm, så
kommer i hvert fald Algol68 nok til kort på nogen af områderne. Jeg ved
ikke hvad Thorbjørn præcist mente, så jeg prøvede at give et lidt
tvetydigt svar.

I sidste instans tror jeg at "skaleringsevne" ikke så meget er en
egenskab ved det sprog man anvender, som ved den systemudviklingspraksis
man anvender. Det er programmøren der skalerer (eller ikke), ikke
sproget.

-Lasse

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408945
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste