/ 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
unix sammenlign 2 mængder
Fra : lars b. nielsen


Dato : 19-11-03 23:42

hvordan kan man i et linux/unix script sammenligne to mængder og udskrive de
tal der er ens i de to.


[2, 3, 4] [ 34, 35, 3] 3
[2, 4, 6] [ 4, 6, 21] 4 og 6

er der nogle smarte ting der kan bruges i unix eller skal det kodes.

findes funktionen i andre sprog perl, c eller andet.......

jeg er ved at lave 7 rigtige i lotto........


Med Venlig Hilsen

Lars B. Nielsen



 
 
Jesper Harder (19-11-2003)
Kommentar
Fra : Jesper Harder


Dato : 19-11-03 23:53

"lars b. nielsen" <xxoz1iaj@mail.tele.dk> writes:

> hvordan kan man i et linux/unix script sammenligne to mængder og
> udskrive de tal der er ens i de to.
>
>
> [2, 3, 4] [ 34, 35, 3] 3
> [2, 4, 6] [ 4, 6, 21] 4 og 6
>
> er der nogle smarte ting der kan bruges i unix eller skal det kodes.
>
> findes funktionen i andre sprog perl, c eller andet.......

I Emacs:

(require 'cl)

(intersection '(2 3 4) '(34 35 3))
=> (3)

(intersection '(2 4 6) '(4 6 21))
=> (6 4)

lars b. nielsen (20-11-2003)
Kommentar
Fra : lars b. nielsen


Dato : 20-11-03 00:08

tak jesper MEN jeg kender ikke Emacs kan du du fortælle hvordan du
gør......
det ser ud til at være en editor.....??????

/lars



"Jesper Harder" <harder@myrealbox.com> skrev i en meddelelse
news:m365hgkm20.fsf@defun.localdomain...
> "lars b. nielsen" <xxoz1iaj@mail.tele.dk> writes:
>
> > hvordan kan man i et linux/unix script sammenligne to mængder og
> > udskrive de tal der er ens i de to.
> >
> >
> > [2, 3, 4] [ 34, 35, 3] 3
> > [2, 4, 6] [ 4, 6, 21] 4 og 6
> >
> > er der nogle smarte ting der kan bruges i unix eller skal det kodes.
> >
> > findes funktionen i andre sprog perl, c eller andet.......
>
> I Emacs:
>
> (require 'cl)
>
> (intersection '(2 3 4) '(34 35 3))
> => (3)
>
> (intersection '(2 4 6) '(4 6 21))
> => (6 4)



Jesper Harder (20-11-2003)
Kommentar
Fra : Jesper Harder


Dato : 20-11-03 01:06

"lars b. nielsen" <xxoz1iaj@mail.tele.dk> writes:

> tak jesper MEN jeg kender ikke Emacs kan du du fortælle hvordan du
> gør......

Du kan bruge den tomme buffer, som Emacs starter op i. Indsæt de
relevante linjer og tryk 'Ctrl-j' ved slutningen af hver linje for at
evaluere dem:

(require 'cl) ;<-- Tast Ctrl-j her

(intersection '(2 3 4) '(34 35 3)) ;<-- Og Ctrl-j her

> det ser ud til at være en editor.....??????

Ja. Men en editor med et indbygget programmeringssprog (Lisp),
hvilket gør den meget handy til den slags småprogrammer.

lars b. nielsen (20-11-2003)
Kommentar
Fra : lars b. nielsen


Dato : 20-11-03 01:25

mange tak.

jeg kom videre nu er jeg kommet nærmere en løsning.

/lars




"Jesper Harder" <harder@myrealbox.com> skrev i en meddelelse
news:m3vfpfkipe.fsf@defun.localdomain...
> "lars b. nielsen" <xxoz1iaj@mail.tele.dk> writes:
>
> > tak jesper MEN jeg kender ikke Emacs kan du du fortælle hvordan du
> > gør......
>
> Du kan bruge den tomme buffer, som Emacs starter op i. Indsæt de
> relevante linjer og tryk 'Ctrl-j' ved slutningen af hver linje for at
> evaluere dem:
>
> (require 'cl) ;<-- Tast Ctrl-j her
>
> (intersection '(2 3 4) '(34 35 3)) ;<-- Og Ctrl-j her
>
> > det ser ud til at være en editor.....??????
>
> Ja. Men en editor med et indbygget programmeringssprog (Lisp),
> hvilket gør den meget handy til den slags småprogrammer.



Klaus Alexander Seis~ (20-11-2003)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 20-11-03 00:20

Lars B. Nielsen skrev:

> hvordan kan man i et linux/unix script sammenligne to mængder
> og udskrive de tal der er ens i de to.
>
> [2, 3, 4] [ 34, 35, 3] 3
> [2, 4, 6] [ 4, 6, 21] 4 og 6

Python 2.3+ (tror jeg nok det er) har "sets":

#v+
>>> from sets import Set
>>> s1 = Set([2, 3, 4])
>>> s2 = Set([34, 35, 3])
>>> s3 = Set([2, 4, 6])
>>> s4 = Set([4, 6, 21])
>>> s1 & s2
Set([3])
>>> s3 & s4
Set([4, 6])
>>>
#v-


// Klaus

--
><>    unselfish actions pay back better

Thorbjørn Ravn Ander~ (20-11-2003)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 20-11-03 09:15

lars b. nielsen wrote:

> hvordan kan man i et linux/unix script sammenligne to mængder og udskrive de
> tal der er ens i de to.
>
>
> [2, 3, 4] [ 34, 35, 3] 3
> [2, 4, 6] [ 4, 6, 21] 4 og 6
>
> er der nogle smarte ting der kan bruges i unix eller skal det kodes.
>
> findes funktionen i andre sprog perl, c eller andet.......
>
> jeg er ved at lave 7 rigtige i lotto........
>
>
> Med Venlig Hilsen
>
> Lars B. Nielsen
>
>
I bash:

$ echo -e "2\n3\n4\n34\n35\n3" | sort -n | uniq -d
3


--
Thorbjoern Ravn Andersen "...plus...Tubular Bells!"


Jesper Louis Anderse~ (20-11-2003)
Kommentar
Fra : Jesper Louis Anderse~


Dato : 20-11-03 11:05

On Thu, 20 Nov 2003 09:14:39 +0100,
Thorbjørn Ravn Andersen <nospam0000@c.dk> wrote:
> I bash:
>
> $ echo -e "2\n3\n4\n34\n35\n3" | sort -n | uniq -d
> 3

i sh:

$ echo -e "2\n3\n4\n34\n35\n3" | sort -n | uniq -d
3

;)

--
Jesper

Peter Dalgaard (20-11-2003)
Kommentar
Fra : Peter Dalgaard


Dato : 20-11-03 18:35

Jesper Louis Andersen <jlouis@brok.diku.dk> writes:

> On Thu, 20 Nov 2003 09:14:39 +0100,
> Thorbjørn Ravn Andersen <nospam0000@c.dk> wrote:
> > I bash:
> >
> > $ echo -e "2\n3\n4\n34\n35\n3" | sort -n | uniq -d
> > 3
>
> i sh:
>
> $ echo -e "2\n3\n4\n34\n35\n3" | sort -n | uniq -d
> 3
>
> ;)

Hmmmm...:

$ echo -e "3\n2\n4\n34\n35\n3" | sort -n | uniq -d
$ echo $_
/usr/bin/sh
$ uname -a
SunOS rasch 5.9 Generic_112233-08 sun4u sparc SUNW,Ultra-4

> >


--
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk) FAX: (+45) 35327907

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

Månedens bedste
Årets bedste
Sidste års bedste