Til NTNUs hovedside

Dette bygger på en artikkel i RUN-NYTT nr. 1, 1992.

More or less?

Det er en oppgave alle datamaskinbrukere ofte trenger å gjøre - det å titte på innholdet i en tekstfil. Program og programnavn kan variere for ulike maskintyper. Vi skal se hvordan dette gjøres på en UNIX maskin. Hvis teksten er skrevet med et tekstbehandlingsprogram og lagret av programmet uten at vi har gjort noe ekstra, er filen oftest en binærfil, og den må leses av samme program eller et annet som kan lese slike filer. Vi skal se på program som viser innholdet i tekstfiler (ASCII filer) - filer som også tekstbehandlingsprogram kan produsere.

UNIX har en kommando "cat" for å skrive ut teksten i en slik tekstfil - men da skrives hele teksten ut uten stopp. Vi trenger i tillegg et program hvor teksten stopper etter hver skjermside, og hvor vi kan forflytte oss i teksten uten at alt må skrives ut på skjermen.

Til det finnes det to program - "more" eller "less".

Disse programmene inneholder flere muligheter det kan være nyttig å være oppmerksom på enn det å få neste skjermside ved å trykke på "space" tasten. Det er det vi skal vise her - i tabellen under.

Vi finner "more" som del av en standard UNIX installasjon. "Less" er laget som en reaksjon til "more". Som tabellen viser, inneholder "less" langt flere muligheter enn "more". "Less" er gratis, og distribueres av FSF - "Free Software Foundation".

I følgende tabell viser vi hva kommandoene heter i de to programmene for noen oppgaver. Når vi nevner flere kommandoer for samme oppgave, er kommandoene adskilt med komma. Det kan være enda flere mulige måter å utføre en oppgave på - vi henviser til "man sidene" for programmene.

Programmene startes med å skrive more ev less, f.eks less -opsjon filnavn. I filnavn kan vi bruke * som "wildcard" (jokertegn) og slik velge ut flere filer vi skal se på. Det finnes en rekke opsjoner - vi henviser til "man sidene" for det. Vi kan sette de opsjonene vi alltid vil bruke inn i variabel LESS: setenv LESS -opsjoner. Vi slipper da å skrive dem hver gang.

Oppgave - kommentar:                   More           Less
----------------------------------------------------------------------
Hjelp                                  ?, h           h
Avslutt                                q,Q            q,Q
Bla (les)
 framover en linje                     <RETURN>       <RETURN>, j, r
          n linjer, vis alle linjer    n<RETURN>      n<RETURN>, nj
          en skjermside                <space>, z     <space>, f
          1/2 skjermside               d              d
 bakover  en linje                                    y, k
          n linjer, vis alle linjer                   ny, nk
          en skjermside                               b
          1/2 skjermside                              u

Forflytning (hopp) i teksten
 til linje nr. n                                      ng, n<, nG, n>
 framover n linjer                     ns             nf
          n skjermsider                nf
          til n % av filen                            np, n%
          til filens slutt                            G, >
 bakover  n linjer                                    nb
          til filens start                            g, <

Forflytning til ny fil:
 Til neste fil i fillista ved
   kallet av programmet:               :n             :n
   Til forrige fil                     :p             :p
 Angi filnavn                                         E filnavn

Hvor er vi:
 Linjenummer i filen:                  =              =
  (øverst på skjermen)
 Filnavn og linjenummer:               :f             =

Søk etter ord (også setning):
 Framover                              /ord           /ord
 Bakover                                              ?ord
 Over flere filer                                     /*ord, ?*ord
 Velg linjer hvor "ord" ikke finnes                   /!ord, ?!ord
 Gjenta søk - framover                 n              n
 Gjenta søk - bakover                                 N
 Gjenta søk - over flere filer                        Esc-n, Esc-N

Endre teksten - start en editor:       v              v
 Editoren er "vi" - eller en annen
 valgt vha. variablel EDITOR.
  (Eks.. setenv EDITOR emacs)

Utfør operativsystemkommandoer:
 generelt                              !kommando      !kommando
 på filen vi leser                     !kommando %    !kommando %
 forrige operativsystemkommando        !!             !!

Slett filen:                           !rm %          !rm %

Vis linjenummer
 Slå på                                               -N
 Slå av                                               -n

Gjeldende versjon av program                          V

Mer om "less":

Vi ser at det lønner seg å bruke "less" istedenfor "more". Både more og less vil være med i en UNIX og Linux installasjon.

Vi vil til slutt nevne at det er en mulighet til for å lese side for side av en tekstfil - kommandoen pg. Det er også mulig å forflytte seg og søke i filen. Se "man pg"


Redaktør: IT-sjef Kontaktadresse:Knut.Vik@ntnu.no Sist oppdatert: 03 06 2005