/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
generere ordliste
Fra : Mikael Aktor


Dato : 08-10-02 21:25

Hvordan genererer man en ordliste fra en tekstfil? Listen skal være en liste over alle ord i teksten, men uden at ordene er gentaget. Altså blot én forekomst af hvert ord. Rækkefølgen er ligegyldigt, og der er ikke tale om at ordene skal indekseres med reference til hvor i teksten de forekommer. Blot en liste over ord.

Jeg har adgang til php og MySql.

/mik


 
 
Daniel V. Pedersen (08-10-2002)
Kommentar
Fra : Daniel V. Pedersen


Dato : 08-10-02 22:57

In article <3da33f08$1@news.wineasy.se>, Mikael Aktor wrote:
> Hvordan genererer man en ordliste fra en tekstfil? Listen skal være en liste
> over alle ord i teksten, men uden at ordene er gentaget. Altså blot én
> forekomst af hvert ord. Rækkefølgen er ligegyldigt, og der er ikke tale om at
> ordene skal indekseres med reference til hvor i teksten de forekommer. Blot
> en liste over ord.

Hep, først, kunne du ikke sørge for dine linier er på ca. 72-80 chars lange?

Nummer to, jeg er ikke ligefrem sikker på dit indlæg hører til i denne
gruppe, det har jo næppe noget med databaser at gøre det her ..

Anyways, hvis det er på en unix's dåse kan du vel sort fil | uniq -c,
hvis du kun vil have ordene, sort fil | uniq -c | awk '{print $2}'.

Daniel.

Daniel V. Pedersen (08-10-2002)
Kommentar
Fra : Daniel V. Pedersen


Dato : 08-10-02 23:02

In article <slrnaq6l5l.23vl.daniel@styx.kummefryser.dk>, Daniel V. Pedersen
wrote:
> Anyways, hvis det er på en unix's dåse kan du vel sort fil | uniq -c,
> hvis du kun vil have ordene, sort fil | uniq -c | awk '{print $2}'.

.... Det kræver jo så bare lige at ordene står på en linie, så det er nok
lars's metode der er vejen :)

Daniel.

Lars Kongshøj (08-10-2002)
Kommentar
Fra : Lars Kongshøj


Dato : 08-10-02 23:05

"Daniel V. Pedersen" wrote:
>
> In article <slrnaq6l5l.23vl.daniel@styx.kummefryser.dk>, Daniel V. Pedersen
> wrote:
> > Anyways, hvis det er på en unix's dåse kan du vel sort fil | uniq -c,
> > hvis du kun vil have ordene, sort fil | uniq -c | awk '{print $2}'.
>
> ... Det kræver jo så bare lige at ordene står på en linie, så det er nok
> lars's metode der er vejen :)

Ja, he, he! Temmeligt simultant postet...

--
Lars Kongshøj
http://www.kongshoj.com/ - konsulent i Oracle og Unix

Lars Kongshøj (08-10-2002)
Kommentar
Fra : Lars Kongshøj


Dato : 08-10-02 23:06

Lars Kongshøj wrote:
> Ja, he, he! Temmeligt simultant postet...

Forstået på den måde at jeg ikke havde nået at se dit svar...

--
Lars Kongshøj
http://www.kongshoj.com/ - konsulent i Oracle og Unix

Daniel V. Pedersen (08-10-2002)
Kommentar
Fra : Daniel V. Pedersen


Dato : 08-10-02 23:11

In article <3DA356B5.ACF6C760@hotmail.com>, Lars Kongshøj wrote:
> Lars Kongshøj wrote:
>> Ja, he, he! Temmeligt simultant postet...
>
> Forstået på den måde at jeg ikke havde nået at se dit svar...

Så havde du sikker også bare svinet mig til ;)

Futtelut ..

Lars Kongshøj (08-10-2002)
Kommentar
Fra : Lars Kongshøj


Dato : 08-10-02 22:59

Mikael Aktor wrote:
> Hvordan genererer man en ordliste fra en tekstfil? Listen skal være en liste over alle ord i teksten, men uden at ordene er gentaget. Altså blot én forekomst af hvert ord. Rækkefølgen er ligegyldigt, og der er ikke tale om at ordene skal indekseres med reference til hvor i teksten de forekommer. Blot en liste over ord.
> Jeg har adgang til php og MySql.
> /mik

Jeg kan ikke lige se, hvad dit spørgsmål har med databaser at gøre. Men
OK. Se hvad jeg får, hvis jeg kører dit indlæg - uden headere - igennem
nedenstående oneliner:

xargs -n 1 < tekstfil | sed 's/[^a-zæøåéA-ZÆØÅ]//g' | tr A-ZÆØÅé a-zæøåe
| sort -u

adgang
af
alle
altså
at
blot
de
der
en
er
forekommer
forekomst
fra
genererer
gentaget
har
hvert
hvor
hvordan
i
ikke
indekseres
jeg
ligegyldigt
liste
listen
man
med
men
mik
mysql
og
om
ord
ordene
ordliste
over
php
reference
rækkefølgen
skal
tale
teksten
tekstfil
til
uden
være

Og så er den endda sorteret

--
Lars Kongshøj

Mikael Aktor (09-10-2002)
Kommentar
Fra : Mikael Aktor


Dato : 09-10-02 22:47



"Lars Kongshøj" <lars_kongshoj@hotmail.com> skrev i en meddelelse news:3DA3552A.E494AAD4@hotmail.com...

> Jeg kan ikke lige se, hvad dit spørgsmål har med databaser at gøre.

Det har det med database at gøre at jeg driver et site med forskellige faglige artikler hvortil jeg godt vil lave en enkel ordsøgningsfunktion. Dvs. blot søgning på enkelte ord. I stedet for at lægge ariklerne ind i databasen i fuldt omfang, ville jeg blot lægge en sådan ordliste ind, altså en liste over alle forekommende ord i hver artikel. Det må da spare plads.

Og det du har lavet er præcis hvad det drejer sig om. Jeg har fået et forslag i Perl, men din løsning er da klart den enkleste. Jeg har kun meget lidt forstand på unix, men det ligner da en række unix kommandoer. Jeg kender sed og sort, men hvad gør xargs? Jeg har ikke selv unix på min maskine, men har fundet et program der kan køre unix under Windows. Det hedder vist uwin. Prøver så om jeg kan få det til at køre. Ellers må jeg prøve at oversætte din kode til php.

/mik

> Men
> OK. Se hvad jeg får, hvis jeg kører dit indlæg - uden headere - igennem
> nedenstående oneliner:
>
> xargs -n 1 < tekstfil | sed 's/[^a-zæøåéA-ZÆØÅ]//g' | tr A-ZÆØÅé a-zæøåe
> | sort -u
>
> adgang
> af
> alle
> altså
> at
> blot

[snip...]


Lars Kongshøj (09-10-2002)
Kommentar
Fra : Lars Kongshøj


Dato : 09-10-02 23:19

Mikael Aktor wrote:
> Jeg kender sed og sort, men hvad gør xargs?

I dette tilfælde: sætter ét ord på hver linie.

> Jeg har ikke selv unix på min maskine, men har fundet
> et program der kan køre unix under Windows.

NT er vist POSIX-certificeret. Det findes en eller anden POSIX-pakke på
en eller anden NT Server ressource kit CD, så vidt jeg har hørt.
Posix-pakken indeholder vist disse kommandoer til NT. Men det er ikke
noget, jeg har prøvet selv.

Men mon ikke den fuldtekstindeksering, der blev foreslået i et andet
indlæg, løser dit problem?

--
Lars Kongshøj
http://www.kongshoj.com/ - konsulent i Oracle og Unix

Mikael Aktor (10-10-2002)
Kommentar
Fra : Mikael Aktor


Dato : 10-10-02 22:06

> xargs -n 1 < tekstfil | sed 's/[^a-zæøåéA-ZÆØÅ]//g' | tr A-ZÆØÅé
a-zæøåe
> | sort -u


Nu har jeg fået downloadet en masse unix kommandoer fra
http://unxutils.sourceforge.net/ og har også prøvet det af med din kode.
Af en eller anden grund er der problemer med sort. Hvis jeg medtager
flaget (hvad enten det er -u eller et af de andre gyldige flag) så
returnerer prompten:

-uDen angivne fil blev ikke fundet

Hvorfor mon det? Som jeg forstår det er det netop -u flaget der gør
miraklet (udskriver kun én kopi af hver linje). Hvad kan det skyldes
mon?

/mik



Mikael Aktor (10-10-2002)
Kommentar
Fra : Mikael Aktor


Dato : 10-10-02 22:31


"Mikael Aktor" <aktor789@hotmail.com> skrev i en meddelelse
news:3da5eb9a$1@news.wineasy.se...

> Af en eller anden grund er der problemer med sort. Hvis jeg medtager
> flaget (hvad enten det er -u eller et af de andre gyldige flag) så
> returnerer prompten:
>
> -uDen angivne fil blev ikke fundet [og tilsvarende for andre flag]

Hmmn, det viser sig at jeg kan godt bruge sort, men så snart jeg
kombinerer med flag går det ikke. Hvis jeg f.eks. i forvejen har
erstattet alle mellemrum med et linjeskift i min tekstfil og så bruger:

sort tekstfil

så sorteres filen alfabetisk, men hvis jeg kombinerer med flag, er
svaret:

"Inputfilen er angivet to gange"

eller også som ovenfor ("-uDen angive fil blev ikke fundet")

Hvad mon der er galt?



Peter Brodersen (09-10-2002)
Kommentar
Fra : Peter Brodersen


Dato : 09-10-02 01:16

On 8 Oct 2002 21:24:40 +0100, "Mikael Aktor" <aktor789@hotmail.com>
wrote:

>Jeg har adgang til php og MySql.

Hvis formålet er at lave en simpel, indekseret søgemekanisme til
artikler i databasen, så bemærk at MySQL har fulltext-indeksering af
tekstfelter.

--
- Peter Brodersen

Thorbjørn Ravn Ander~ (09-10-2002)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 09-10-02 06:04

Peter Brodersen <usenet@ter.dk> writes:

> Hvis formålet er at lave en simpel, indekseret søgemekanisme til
> artikler i databasen, så bemærk at MySQL har fulltext-indeksering af
> tekstfelter.

Er det noget du har nok erfaring med, til at ville give en vurdering
af det?

--
Thorbjørn Ravn Andersen
http://homepage.mac.com/ravn

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

Månedens bedste
Årets bedste
Sidste års bedste