Søking i egne "databaser"

av Odd de Presno.


Publisert i Datatid, Norge nr. 10/1986, side 105.


Du vet det ligger der. I et eller annet subdirectory på en harddisk eller i en av mange filer på en diskett. Spørsmålet er bare hvor.

Det kan ta like lang tid å finne noe som er lagret elektronisk, som å finne brevet i arkivskapet.

Du kommer langt med fornuftig bruk av filnavn. Navn som KAPITEL1, 031186.MOI, DOKUMENT.GML, DOKUMENT.NY, HANSEN.BRV, JANLOG, FEBLOG kan gjøre det lettere å huske i hvilke filer informasjonene befinner seg.

Bruk av subdirectories for samling av filer som logisk hører sammen, er et annet nyttig trick.

Organisering av filer og fornuftig bruk av filnavn er imidlertid bare en del av jobben. Det gjør "høystakken" mindre, men nålen må jo fremdeles finnes.

"Hammer og meisel"-løsningen

Det vanligste er å bruke en tekstbehandler. Med f.eks. WordPerfect eller PC-WRITE kan du relativt hurtig finne frem til de filene du tror er aktuelle. Deretter kan du lete ved hjelp av hensiktsmessige "Finn tegnrekke"-kommandoer.

Gitt at du har 200 brever liggende i subdirectory POST på harddisken. Du vil finne alt som er skrevet om laserskriver til firmaet Østereng Kontor & Datasenter A/S. De aktuelle filene har filnavnendelsen OST. Foran punktumet står brevet dato. Filnavnet 090486.OST forteller at det er et brev til Østereng sendt den 4. september i år.

Har du WordPerfect 4.1, kan du be om et dokumentregister over alle filer med filnavnendelsen OST. La oss si at resultatet blir en liste med 50 filnavn. Du beordrer "søk" etter tegnrekken "laser". Dokumentlisten skrumper inn til 5. Du kan nå angi et nytt stikkord for ytterligere å avgrense antall aktuelle filer, eller gå inn i de enkelte filene for å finne det du er på jakt etter.

Dette er en enkel og nyttig metode. Når jeg likevel kaller den "hammer og meisel", skyldes det selvfølgelig at det finnes andre verktøy, som jeg er forelsket i. De utfører ofte søkeoppgaven både hurtigere og bedre enn tekstbehandlerne.

Det kommersielle programmet ZyIndex har en interessant egenskap. Det lar deg lage en indeks over innholdet i filene dine. Når indeksen er ferdig kan du søke etter innholdet ved hjelp av kommandoer som "finn alle forekomster av ordene LASER og PRIS (dvs. kombinasjonen)" eller "ordet IBM og PRIS men ikke Apple".

Med slike verktøy går søkingen hurtig og sikkert. Problemet er at det tar lang tid å lage indeksen, og at den tar mye lagringsplass.

LIST

kan downloades fra Saltrød Horror Show. Du skal be om filnavnet LIST593.ARC (om det ikke i mellomtiden er kommet en nyere versjon). Filen er ca. 17K stor. (Se Datatid nr. 8/86 s. 70 om hvordan du kan overføre filen pr. modem.). Programforfatteren ønsker et bidrag på $15 om du er fornøydd.

LIST er supert for hurtiglesing av tekst. Av og til også for å finne nålene i høystakken. Det er like raskt - om ikke raskere - å bla gjennom en "bunke" med filer med LIST, som å bla gjennom en bunke med papirer i en innkurv på leting etter informasjon.

Brukerdokumentasjonen til programmet ProYam er på 627K. Det tok under to sekunder å få første side opp på skjermen. Det tok under 67 sekunder å søke gjennom alt sammen (mens Saltrød Horror Show kjørte i bakgrunnen!).

En gang forsøkte jeg å lese inn en 470K fil inn i WordPerfect. Etter 30 minutter orket jeg ikke vente lengre...

Med LIST kan du lese filer på opptil 16MB. Det skulle tilsvare ca. 8.000 A-4 sider med tekst! Du kan bla deg frem og tilbake ved hjelp av "PG DN" og "PG UP" tastene på ti-tastaturet.

LIST kan vise opptil 256 tegn pr. linje. Det passer derfor bra, om du vil lese trendrapporter fra regneark eller regnskapsprogrammer. Du blar det sidelengs i dokumentet ved hjelp av "pil til høyre/venstre"- tastene.

Du kan lese filer uten linjeskift (f.eks. filer overført pr. modem fra TRS-80 Model 100 eller Apple). Du kan lese tekst som ligger innebygget i ferdig kjørbare programmer.

Søking i tekst

Du taster inn LIST C:\POST\*.OST. Stjernen betyr "en hvilken som helst tekst før punktumet", i dette tilfellet en hvilken som helst dato. Les i DOS-manualen om bruk av * og ? i filnavnangivelser.

Det første brevet kommer opp på skjermen. Mens det står der, gir du beskjed om søking etter ordet "laser". Hvis LIST ikke finner noe, kan du trykke "Q" og neste fil (i *.OST.*- bunken) står på skjermen. Et trykk på "A" (for "again"), og søkingen etter "laser" fortsetter.

Ved å trykke Q og A kan du bla deg lynraskt gjennom en "bunke" med filer, inntil det du leter etter står der i rødt på grønn bakgrunn (om du har fargeskjerm). Vil du ha en linje ut på skriven, trykker du P.

Begrensninger

Filer laget av Word Perfect, Word Star osv. inneholder av og til skjulte kontrollkoder. Disse har en tendens til å splitte opp ordene, slik at LIST ikke finner det du søker etter. Dessuten blir teksten vanskeligere å lese.

Ved å trykke 7 kan du fjerne noen av kodene. Det fjerner en del av problemet, men ikke alt. WordPerfect-brukere som vil få full nytte av LIST bør derfor lagre filene i DOS-format. (PC-WRITE lagrer alltid i DOS-format).

SEARCHX

SEARCHX.COM er et lite gratisprogram for søking etter informasjon i tekstfiler. Det kan downloades fra Saltrød Horror Show.

Mens du med LIST får hele teksten oppe på skjermen, viser SEARCHX.COM bare frem det som finnes. Alt foregår i en smell, etter at du har gitt startkommandoen.

Programmet leter i alle spesifiserte filer etter en tegnrekke (string). En tegnrekke er en rekke med tall, bokstaver o.l., f.eks. en del av et ord. Tegnrekken kan være opptil 40 ASCII-tegn (dvs. bokstaver og tall) lang.

Du kan bruke DOS' filangivelsesmetoder fullt ut. Filnavnet i kommandoen searchx c:\faktur\*.mai trend er således lovlig.

Så hurtig går det

På mitt faste platelager (harddisk) ligger det over 600 A4- sider med artikkelkonsentrater om teknologi fra forskningsstaben i amerikanske USA TODAY. Nylig søkte jeg gjennom disse med SEARCHX på jakt etter ordet "trend". Jeg brukte kommandoen:

searchx e:\cis\usa.* trend > c:\yam\resultat.tmp

Operasjonen tok under to minutter og resultatet ble skrevet til en resultatsfil kalt RESULTAT.TMP.

Jeg fant tyve referanser. De lå lagret i resultatsfilen i dette formatet:

I filen USA.MAI:
"Det er en trend i Europa mot billigere, prefabrikerte hus"...

Anvendelse

Jeg bruker SEARCHX for å finne ut hvor ting ligger, med sikte på senere å gå inn og titte med LIST eller ta det inn i PC-WRITE.

SEARCHX er litt hurtigere enn LIST, bl.a. fordi du slipper å vente på at en ny fil skal opp på skjermen. Eksemplet over som tok 67 sekunder med LIST (en fil, 627K), tok 50 sekunder med SEARCHX.H.

Om du kjører multitasking (med f.eks. MultiLink, DoubleDOS, e.l.), kan du la SEARCHX jobbe i bakgrunnen, mens du holder på med noe annet.

Elektra-Find

Svakheten med LIST, SEARCHX og tekstbehandlerne er at du ikke kan angi kombinasjoner av søkeord. Ønsker du f.eks. å søke etter "IBM og Personal Computer" (dvs. begge søkeordene må være med) må du satse på kommersielle programmer som ELECTRA-FIND eller ZyIndex.

ZyIndex har jeg gitt opp, hovedsaklig fordi indeksene tar for mye plass. Den dagen indeksen sprengte 3 megabyte grensen, var det slutt.

Elektra-Find (EF) kom i posten fra O'Neill Software for en stund siden (P.O. Box 26111, San Fransisco. CA 94126 USA, US$49).

EF minner på mange måter om ZyIndex, med den forskjell at EF søker i eksisterende filer. Det kreves ingen forhåndsindeksering eller spesiell formattering av filene.

I motsetning til i List og Searchx, kan du bruke "wildcards" i søkebegrepene. Du kan f.eks. søke etter "Saltr?d" for å finne tilslag på Saltrød eller Saltrud (om det nå måtte finnes noe slikt). Du kan søke på ord med æ,ø og å ved angivelse av deres ASCII-verdier (det kan du også med LIST og SEARCHX).

Du kan kjøre EF ut fra menyer eller fra DOS, f.eks. innebygget i BATch-filer. På denne måten kan du kjøre flere søk etter hverandre uten stopp.

Programmets styrker er "lett å bruke" og "fleksibelt". Dets svakhet er hastighet. I natt søkte jeg gjennom 473K fordelt på 57 filer etter to nøkkelord (BÅDE det første OG det andre ordet). Søket starte kl. 00.34 og var ferdig kl. 01:48.

I all rettferdighets navn skjedde søket mens Saltrød Horror Show drev på med sitt og EF hadde bare 90K RAM til rådighet. Det går VESENTLIG hurtigere om du har 640K RAM tilgjengelig og når maskinen går som enbrukermaskin. Da tar det bare noen minutter.

Jeg søkte gjennom 373K fordelt på 23 filer (enbrukermaskin, 640K RAM) etter to ord. Operasjonen tok denne gang bare to minutter. Gjennomsøking av 47K fordelt på 22 filer gikk på 45 sekunder.

Hjemme hos meg dekker LIST og SEARCHX 98 pst av behov. ELECTRAFIND er fin når de andre verktøyene gir for mange tilslag og søkebehovet er komplisert (f.eks. flere søkeord fordelt på mange filer og subdirectories). Det kan imidlertid ofte være lurt å ta natten til hjelp.


| Til artikkelmenyen |
Det er forbudt å distribuere denne artikkelen - eller deler av den - i elektronisk, trykt eller kopiert form mot betaling.