Cut

From ICO wiki
Jump to navigationJump to search

autor: Maksim Kornejev, AK31

Kirjeldus

Väljastab valitud ridade osad standardväljundile. Eriti hästi sobib kindla struktuuriga failide töötlemiseks (nimekirjad, andmekogud, loendid jne). Samuti kasutatakse filtrina koos teiste käskudega. Cut käsk võimaldab valida faili igast reast vajaliku osa ühise reegli järgi. Väljavalitud osad võivad olla fikseeritud pikkusega või muutuva pikkusega, mis on igas reas erinev. Viimasel juhul on välajvalitud osa piiriks eraldaja, mis võib olla mingi sümbol või TAB.

cut [VÕTMED]... [FAIL]...

Võtmed

-b , --bytes=NIMEKIRI ; - näita ainult valitud baite
-c , --characters=NIMEKIRI ; - näita ainult valitud positsioone
-d , --delimiter=ERALDUSMÄRK  ; - valime sobiva eraldusmärgi
-f , --fields=NIMEKIRI ; - näita ainult valitud välju (TABiga eraldatud) + read ilma eraldusmärkideta
-n  ; - ainult koos -b-ga, ei poolita sümboleid, mis on pikemad, kui 1 bait
-s  ; - ära näita neid ridu, kus puuduvad eraldusmärgid

Kasutamine

Võtmeid -b, -c, -f võib kasutada ainult üksteisest eraldi.
Näidiseks võtame faili /etc/shells . Algsel kujul näeb ta välja nii:

/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc


-c
kasutame võtit -c , et näidata faili iga rea sisu teisest positsioonist neljandani.

$ cut -c 2-4 /etc/shells
bin
bin
usr
usr
bin
usr

Eraldades komadega, saame valida mitu vahemikku (1-5,8-10). Samuti võib valida vahemiku rea algusest kuni valitud positsioonini või valitud positsioonist kuni rea lõpuni(-5,8-).

-b
Väga sarnane -c võtmega. Erinevus on selles, et positsiooni numbri asemel on siin kasutusele võetud baidid. Kui üks sümbol võrdub ühe baidiga, siis võti -b on täiesti analoogne -c võtmega.

-f
Kui faili sisu on eraldatud TAB-idega, siis kasutades -f võib valida vajalikud veerud.
Näiteks valime teise ja kolmanda veeru failist failinimi

$ cut -f 2,3 failinimi


-d
Kasutatakse koos võtmega -f . Võtmega -d saab näidata, milliseid eraldusmärke aksepteeritakse. Eraldusmärgiks võib olla ka tühik (" ").
Näiteks kui eraldusmärgiks on '/' ja tahame näha veergu, mis asub enne kolmandat eraldusmärki '/', siis anname käsu:

$ cut -f 3 -d '/' /etc/shells
csh
sh
bin
bin
ksh
bin


-s
Kasutatakse koos võtmega -f . Ei näita neid ridu, kus puuduvad eraldusmärgid. Või teiste sõnadega, ei näita infot, mis ei ole formaadis, mis meid huvitab.

-n
Kasutatakse koos võtmega -b . Võti -n kirjutatakse esimesena ja see keelab poolitada sümboleid, mis on pikemad, kui 1 bait. Näiteks, vene tähestikus (UTF-8) on tähe pikkus kaks baiti. Kui me näitame pikkust võtmega -b ja satume sellisele tähele, siis kuvatakse küsimärk või ruut. See räägib sellest, et sümbolit ei loetud lõpuni. Võti -n keelab poolikute sümbolite lugemise.

Lingid