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