Cut
teema autor on Maksim Kornejev, AK31
teema on pooleli
Kirjeldus
prindib välja väljavalitud ridade osad standart väljundile. Väljavalitud väljad võivad olla fikseeritud pikkusega või muutuva pikkusega, mis on igas reas erinev. Viimasel juhul välja piireks on eraldaja, mis võib olla mingi sümbol või tabulaator.
cut [OPTION]... [FILE]...
Võtmed
-b, --bytes=LIST ; - näita ainult need baitid
-c, --characters=LIST ; - näita ainult need positsioonid
-d, --delimiter=DELIM ; - valime sobivat eraldusmärgi
-f, --fields=LIST ; - näita ainult need väljad(TAB-ga eraldaatud) + read ilma eraldusmärkideta
-n ; - ainult koos -b-ga, ei poolita sümboled, mis pikkemad, kui 1 bait
-s ; - ära näita need read, kus puuduvad eraldusmärgid
Kasutamine
Võtmed -b, -c, -f võib kasutada ainult üks teisest eraldi.
Näidiseks võtame faili /etc/shells. Algsel kujul näeb ta välja umbes nii:
/bin/csh /bin/sh /usr/bin/es /usr/bin/ksh /bin/ksh /usr/bin/rc
-c
kasutame võtid -c, et näidata faili sisu teisest neljandani positsioonini igas reas.
$ cut -c 2-4 /etc/shells bin bin usr usr bin usr
Eraldades komadega saame valida mittu vehemiku(1-5,8-10). Samuti võib vahemiku kirja panna algusest kuni positsioonini või positsioonist lõppuni(-5,8-).
-b
Väga sarnane -c võtmega. Erinevus on selles, et positsiooni numbri asemel siin on baitid. Juhul, kui üks sümbol võrdub ühe baitiga, siis on täiesti analoogne -c võtmega.
-f
Kui faili sisu eraldatud tabulaatoridega, 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 -f -ga. -d -ga saab näidata millised eraldusmärgid aksepteeritakse. Tühik võib olla ka eraldusmärgiks (" ").
Näiteks, kui eraldusmärgiks on '/' ja tahame näha veeru mis asub enne kolmandat '/' siis anname käsu:
$ cut -f 3 -d '/' /etc/shells csh sh bin bin ksh bin
-s
Kasutatakse koos -f -ga. Ei näita need read, kus puuduvad eraldusmärgid. Või, teiste sõnadega, ei näita infot, mis ei ole formaadis, mis meid huvitab.
-n
Kasutatakse koos -b-ga. -n kirjutatakse esimesena ja keelab poolitada sümboleid, mis on pikkemad kui 1 bait. Näiteks, vene tähestikus (UTF-8) tähe pikkus on kaks baiti. Ja kui me näitame pikkust -b -ga ja sattume sellise tähele, siis kuvatakse küsimärk või ruut. See räägib sellest, et sümbol ei ole lõppuni loetud. -n keelab lugeda poolikud sümboleid.