|
| 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
| |
|
|