Cut
autor: Maksim Kornejev, AK31
Kirjeldus
Annab välja väljavalitud ridade osad standardväljundile. Eriti hästi sobib kindla struktuuriga failide töötlemiseks (nimekirjad, andmekogud, listid jne). Samuti kasutatakse filtrina koos teiste käskudega. Cut käsk võimaldab valida faili igast reast vajalik osa ühise reegli järgi. Väljavalitud osad võivad olla fikseeritud pikkusega või muutuva pikkusega, mis on igas reas erinev. Viimasel juhul välajvalitud osa piiriks on eraldaja, mis võib olla mingi sümbol või TAB.
cut [VÕTMED]... [FAIL]...
Võtmed
-b , --bytes=NIMEKIRI ; - näita ainult väljavalitud baidid
-c , --characters=NIMEKIRI ; - näita ainult väljavalitud positsioone
-d , --delimiter=ERALDUSMÄRK ; - valime sobivat eraldusmärki
-f , --fields=NIMEKIRI ; - näita ainult väljavalitud väljad (TAB-ga eraldaatud) + read ilma eraldusmärkideta
-n ; - ainult koos -b-ga, ei poolita sümboleid, mis on pikemad, kui 1 bait
-s ; - ära näita need 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-iga, 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. Tühik võib olla ka eraldusmärgiks (" ").
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. Ja 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ümbol ei ole lõpuni loetud. Võti -n keelab poolikute sümbolite lugemise.