Tekstide tegemine ja vaatamine ja muidu
kõik tekstifailidega seotu


sisukord | sisse ja välja logimine | operatsioonid failidega ja kataloogidega
protsesside jälgimine ja kontrollimine
tekstide tegemine ja vaatamine ja muidu kõik tekstifailidega seotu
keskkonna kujundamine | pakkimine ja arhiveerimine | süsteem, võrk ja kasutajad
käskude täitmine ja aliased | kõik ülejäänu

GREP, MORE, PICO, VI & VIM, WC,

UNIQ,


*   PICO

pico - see on pine postiprogrammiga kaasaskäiv lihtne tekstiredaktor. Ta käivitatakse käsuga
pico faili_nimi
või lihtsalt käsuga
pico
juhul, kui Sa soovid alustada täiesti uue teksti kirjutamist. Ekraani allservas on näidatud vajalikumad käsud ja vajaduse korral võid vaadata ka help'i. Picost välja saad käsuga CTRLx Pico heaks omaduseks on see, et temas saab hiirega teksti kopeerida ja kustutada.

Tagasi algusesse



*   VI & VIM

Vi on väga võimas ja laialt levinud tekstiredaktor. vi starditakse käsurealt:
vi faili_nimi

vi -l on kaks moodi: käsumood ja redigeerimismood. Kui fail avatakse, on vi käsumoodis. Käsumoodis on kahte tüüpi käskusid.
- käsud teksti redigeerimiseks. Need on kõik need, mis viivad redigeerimismoodi ja lisaks veel kustutamise ja kopeerimise käsud.
- käsud, mis sisestatakse käsureale, sinna viib koolon ':'

Redigeerimismoodi viivad käsud:
a - append - lisa kursori järele
A - append - lisa rea lõppu
i - insert - lisa kursori ette
I - insert - lisa rea algusesse
c - change - alusta muutmist
C - change - muuda rea lõpuni
o - open - alusta uut rida käesoleva rea järel
O - open - alusta uut rida enne käesolevat rida
r - asenda kursori all olev täht
R - mine asendusmoodi
s - substitute - asenda täht
S - substitute - asenda kogu rida
Kõigist neist sisestamismoodidest, välja arvatud r, toob tagasi käsumoodi ESC. Ühe tähe asendamisest r-ga tuleb ise välja, ESC-i pole vaja.

Mõnda redigeerimiskäsku saab kasutada ka koos arvuga:
cw - muuda sõna
5cw - muuda viis sõna
cc - muuda kogu rida
5cc - muuda 5 rida

Edasiliikumise käsud:
w - mine edasi järgmise sõna algusesse
b - mine tagasi selle või eelmise sõna algusesse
e - mine sõna lõppu
k - mine eelmisele reale
j - mine järgmisele reale
h - mine üks sümbol edasi
l - mine üks sümbol tagasi
CTRLf - mine edasi ekraanitäis
CTRLb - mine tagasi ekraanitäis
CTRLd - mine edasi umbes pool ekraanitäit
CTRLu - mine tagasi umbes pool ekraanitäit
H - mine ekraani algusesse
L - mine ekraani lõppu
ENTER või + - mine järgmise rea algusesse
- - mine eelmise rea algusesse
0 - mine käesoleva rea algusesse (see on null, mitte O-täht)
$ - mine käesoleva rea lõppu
G - mine teksti lõppu
nG - mine reale n (seega 1G läheb esimesele reale)

Enamusi nendest käskudest saab kasutada koos arvuga, näiteks:
50l - mine 50 sümbolit paremale
200j - mine 200 rida edasi
10w - mine 10 sõna edasi
2b - mine kaks sõna tagasi

Tekstis ringi liikumiseks võib kasutada nooli, aga kui nooled ei tööta või klaviatuuris ei ole nooli, siis keskmise rea neli tähte h, j, k, l töötavad käsumoodis nooltena.

Käsureal sisestatavad käsud:
:w - kirjuta kettale
:w fail - kirjuta kettale faili 'fail'
Kui 'fail' on olemas, siis hoiatab ja ei salvesta. Kui tahad ikkagi olemasoleva faili üle kirjutada, siis
:w! fail

vi-d startides võib kohe anda käsu mitme faili redigeerimiseks. Kui Sul on failid fail1, fail2, fail3, fail4, siis
vi fail1 fail2 fail3 fail4 - teatab, et 4 faili redigeerida ja avab esimese
Kui oled esimesega töö lõpetanud ja selle salvestanud, siis
:n - redigeeri järgmist faili
:n! - redigeeri järgmist ka siis kui eelmine on pärast redigeerimist salvestamata

Kui faili redigeerimisel läks midagi väga untsu ja seda ei ole veel salvestatud ning Sa soovid alustada redigeerimist uuesti viimati salvestatud kohast, siis
:e!

Kui oled hakanud vi-ga redigeerima ühte faili ja peale sellega töö lõpetamist soovid alustada tööd järgmisega, siis
:e faili_nimi

Kui oled vi-st väljumata hakanud kas n-ga või e-ga redigeerima teist faili, siis saab nende kahe faili vahel vahetada CTRL6 -ga (osades vi versioonies CTRL^).

Kui oled niimoodi mitu korda vahetanud ja enam ei mäleta, millises failis oled, siis saad CTRLg -ga teada, millises failis oled ja mitmendal real ja kas faili on muudetud pärast viimast salvestamist.

Kui ekraan on millegipärast redigeerimise ajal sassi läinud, siis
CTRLl - taastab ekraani (refresh).

:q - välju redaktorist
Kui pärast viimast salvestamist on failis midagi muudetud, siis hoiatab ja ei välju redaktorist. Kui soovid ikkagi redaktorist väljuda, siis
:q!

Mõned uuemad vi-d näitavad all käsurea paremas nurgas, kas oled käsumoodis või redigeerimismoodis. Kui sealt ei näe midagi ja ei mäleta, kummas moodis oled, siis ESC toob alati käsumoodi tagasi. ESC-i võid vajutada mitu korda järjest ja midagi halba ei juhtu. Seega siis kindel moodus redigeerimise lõpetamiseks koos salvestamisega on:
ESC :wq

Kustutamine (käsumoodis):
x - kustuta kursori all olev sümbol
X - kustuta sümbol kursorist vasakul
dd - kustuta rida
dw - kustuta sõna
D - kustuta kursorist rea lõpuni

Ka neid käske (v.a D) saab kasutada koos arvuga:
12x - kustuta 12 sümbolit
200dd - kustuta 200 rida
4dw - kustuta 4 sõna

Asukoha ja tekstiosa märgendamine:
Redigeeritavas failis saab teha märgendeid, mis ei muuda faili, aga aitavad leida märgendatud kohti. Märgendeid võib kasutada asendamis-, salvestamis- ja kustutamiskäskudes. Pärast failist väljumist märgendid unustatakse. Märgend on ühetäheline, see defineeritakse käsuga m
ma - rida, millel on kursor, saab märgendi 'a'

Märgendile viidatakse apostroofiga '
'a - viib kursori reale märgendiga 'a'

Faili osa kustutamine:
:25,55d - kustuta read 25-55
:'a,'bd - kustuta read märgendist 'a' märgendini 'b'

Faili osa salvestamine uude faili:
:1,200w uus_fail - salvestab read 1-200 faili 'uus_fail'
:'a,'bw uus_fail - salvestab read alates märgendist 'a' kuni märgendini 'b' faili 'uus_fail'

Teksti saab märgendada ka VISUAL moodis, sinna viib v-täht. Kui VISUAL moodis kursoriga ringi sõita, siis märgitakse tekst ära ja selle märgitud teksti võib korraga ära kustutada (d) või siis korraga muuta (c). Saab ka kõik korraga puhvrisse kirjutada (y). Põhimõtteliselt käib see nagu hiirega teksti ära märkinine, ainult et hiire asemel kasutatakse kursoreid. Kui Sa siiski leiad, et Sa ei soovi märgitud tekstiosa ära kustutada või ära muuta, Siis VISUAL moodist viib välja ESC

Kahe rea kokku ühendamine:
J - tõstab järgmise rea käesoleva rea lõppu

Asendamine:
See käsk antakse käsurealt
:s/abc/bcd/ - asendab real, kus asub kursor esimest korda esineva sõna (stringi) 'abc' stringiga 'bcd'
:s/abc/bcd/g - asendab real, kus on kursor kõik stringid 'abc' stringidega 'bcd'
:'a,'bs/abc/bcd/ - asendab ridadel alates märgendist 'a' kuni märgendini 'b' rea algusest esimese stringi 'abc' stringiga 'bcd'
:'a,'bs/abc/bcd/g - märgendist 'a' kuni märgendini 'b' asendab kõik 'abc'-d 'bcd'-ga

Asendamiskäsus võib märgendite asemel kasutada ka reanumbreid
:10,50s/abc/abcfgh/g - ridadel 10 kuni 50 asendab kõik 'abc'-d 'abcfgh'-ga
:1,$s/abc/abcfgh/g - asendab kogu failis kõik 'abc'-d 'abcfgh'-ga
:1,$s/Tere/Tere hommikust!/g - asendab kogu failis 'Tere' sõnadega 'Tere hommikust!'
:1,$s/Tere hommikust!/Tere/g - asendab kogu failis kõik sõnapaarid 'Tere hommikust' sõnaga 'Tere'

Kui avada dos-i fail, siis on iga rea lõpus ^M, nendest lahtisaamiseks on kõige lihtsam moodus
:1,$s/CTRLv ENTER//
(CTRLv ENTER-i peale peab käsureale ilmuma ^M)

Taastamine:
u - taastab viimase kustutamise või redigeerimise eelse seisu (undo), kui uuesti vajutada, siis taastab eelviimase kustutamise või redigeerimise eelse seisu jne. Kui u-ga sai kogemata liiga palju taastatud, siis CTRLr taastab undo-eelse seisu
p - taastab viimati kustutatu kursori järele
P - taastab viimati kustutatu kursori ette
"1p - sama mis p
"2p - taastab eelviimati kustutatu kursori järele
"5p - taastab üleüleüle-eelviimati kustutatu kursori järele

Puhvri kasutamine:
yy - kirjuta rida puhvrisse
5yy - kirjuta 5 rida puhvrisse
"pyy - kopeeri rida puhvrisse "p
"p6yy - kopeeri 6 rida alates kursorist puhvrisse "p

Puhvrina võib kasutada kõiki tähti ja vist ka numbreid. Numbritega puhvreid kasutab vi ise kustutamiste meeles pidamiseks. Nii et võimalik on taastada rohkem kui ainult viimane kustutamine (vt. taastamine).

Kui pärast ridade puhvrisse salvestamist vahetad CTRL6 -ga või :n -ga faili, siis teises failis saad lisada puhvri sisu
"pp - lisa puhvri "p sisu kursori järele
"pP - lisa puhvri "p sisu kursori ette

Kui kirjutasid rea puhvrisse käsuga yy, siis lihtsalt
p - lisa puhvri sisu kursori järele
P - lisa puhvri sisu kursori ette
Kui Sa peale yy-ga rea puhvrisse kirjutamist oled midagi kustutanud, siis p taastab kustutatu, mitte selle, mille Sa puhvrisse kirjutasid, seega kasulikum oleks kasutada tähtedega puhvreid.

Väikesed kavalused:
. - korda eelmist redigeerimist

Kui kaks tähte on sõnas vahetusse läinud, siis xp kustutab tähe ja taastab selle kursori järele, seega vahetab kahe tähe asukoha, ddp vahetab kaks rida omavahel.

Kui soovid mõnes tekstis vahetada osa sõnu 'Tere' välja sõnade 'Tere hommikust!' vastu, siis
1G - mine teksti algusesse
/Tere - leia 'Tere'
cw - muuda sõna
Tere hommikust! - uus tekst sõna 'Tere' asemel
ESC - välju redigeerimismoodist
n - leia järgmine 'Tere'

kui seda ei soovi asendada, siis
n - leia järgmine 'Tere'

või kui soovid asendada, siis
. - korda eelmist redigeerimist

K - otsib selle sõna kohta, millel kursor asub, manuaali, st. sama, mis shelli käsurealt anda käsk
man see_sõna_mis_on_kursori_all

VIM
vim on vi uuendatud ja täiendatud versioon. Selles töötavad kõik needsamad käsud, mis vi-s, aga lisaks nendele veel mõned. Näiteks:

:set nowrap ja :set wrap - vastavalt murrab ja ei murra pikad read ekraani laiuseks

Uuemad vim-i versioonid ei näita dos-i faile redigeerides enam rea lõppu ^M-i, vaid fail avatakse dos-formaadis. Sellegipoolest mõned teised tekstiredaktorid näitavad sama faili iga rea lõppu endiselt ^M-i. Et nendest ^M-idest lahti saada, tuleb kirjutada
:set fileformat=unix

Ärge sattuge paanikasse, kui Teil kõik eelmainitud käsud ei tööta -- Teil on lihtsalt erinev vi või vim-i versioon.

Tagasi algusesse



*   MORE

more [võtmed] [failid] - trükib failid ekraanile ekraanitäite kaupa

Võtmed:
+arv - alates reast arv
+/tekst - alates kaks rida enne tekst-i
-num arv - sea ekraani suuruseks 'arv' rida

Kui oled more-s, siis saad kasutada mitmeid käske:
tühik - järgmine ekraanitäis
enter (return) - järgmine rida
q - katkestab ära
s - üks rida edasi
f - ekraanitäis edasi
b - ekraanitäis tagasi
' - tagasi sinna, kus algas eelmine otsing
= - trükib rea numbri
/tekst - otsib 'tekst'-i
n - kordab viimast otsimist n korda
v - läheb vi-sse alates käesolevast reast
CTRLl - taastab ekraani
:n - läheb järgmisse faili - kui more-ga vaatad mitut faili korraga
:p - läheb eelmisse faili
:f - trükib käesoleva faili nime ja rea numbri

Tagasi algusesse



*   GREP

grep [võtmed] regulaaravaldis [failid] - otsi ühest või mitmest failist sõna (stringi) või regulaaravaldist
grep Tere *   - otsib kõigist aktiivse kataloogi failidest sõna 'Tere'

Juhul, kui ositav string koosneb mitmest sõnast, siis tuleb need sõnad panna ülakomade vahele

Võtmed:
-num - näitab leitud vastetele num eelnevat ja järgnevat rida
-A num - näitab leitud vastetele num järgnevat rida
-B num - näitab leitud vastetele num eelnevat rida
-i - ei tee vahet suurtel ja väikestel tähtedel
-v - otsib ainult neid ridasid, milles ei ole vastavat kirjet
-c - näitab ainult leitud kirjete arvu, kirjeid endid ei näita

Grep on väga kasulik käsk tekstifailidest vajaliku sõna leidmiseks. Näiteks kui keegi on Sulle mingist konkreetsest asjast kirjutanud ja Sa ei suuda seda kirja üles leida, siis mine 'mail' kataloogi ja kirjuta
grep see_sõna *
siis arvuti otsib kõigist Sinu kirjadest otsitavat sõna. Kui ta midagi leiab, siis ta kirjutab, millises failis see sõna oli ja selle järele ka selle rea, kus see sõna oli. Kui Sulle sellest ühest reast ei piisa, siis kirjuta
vi -v faili_nimi
/otsitav_sõna

Vi avaneb siis read-only moodis, et Sa kogemata oma kirja ära ei rikuks. Failide nimed 'mail' kataloogis on needsamad, mis Sul on 'pine's, st. sent-mail, inbox jne. Kui sul on kõik samateemalised kirjad kirjutatud ühte kataloogi siis kirjuta
grep see_sõna kataloogi_nimi
ja arvuti otsib seda sõna ainult vastavast kataloogist. Kui Sul on väga palju kirju, siis saab nii tunduvalt kiiremini.

Tagasi algusesse



*   WC

wc [võtmed] failid - loeb kokku tekstifailide read, sõnad ja baidid, kui on antud mitu faili, siis reastab tulemused üksteise alla ja viimasele reale liidab kokku kõikide failide tulemused

Võtmed:
-c - trükib ainult baitide arvu
-w - trükib ainult sõnade arvu
-l - trükib ainult ridade arvu

Tagasi algusesse



*   UNIQ

uniq [võtmed] fail1 fail2

Kustutab failist fail1 kõrvutiolevad korduvad read, nii et mitme ühesuguse rea korral jääb alles ainult üks rida

Võtmed:
-n - ei kontrolli rea esimest n välja, väljad on eraldatud kas tühikute või TAB-idega
+n - ei kontrolli rea esimest n sümbolit
-c - trükib iga rea ainult ühe korra ja loendab
-d - trükib korduvad read üks kord, unikaalseid ei trüki
-u - trükib ainult unikaalsed read, korduvad jätab üldse vahele

Trükitakse faili 'fail2' või kui see puudub, siis standardväljundisse

Tagasi algusesse




Lehekülge tegi Joel Kuusk


Viimati muudetud 01.12.1998