Cut

From ICO wiki
Revision as of 22:03, 25 December 2010 by Mkorneje (talk | contribs)
Jump to navigationJump to search

teema autor on Maksim Kornejev, AK31
teema on pooleli

Kirjeldus

Prindib välja väljavalitud ridade osad standart vä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 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 osa piireks on eraldaja, mis võib olla mingi sümbol või TAB.

cut [OPTION]... [FILE]...

Võtmed

-b , --bytes=LIST ; - näita ainult väljavalitud baitid
-c , --characters=LIST ; - näita ainult väljavalitud positsioonid
-d , --delimiter=DELIM  ; - valime sobivat eraldusmärgi
-f , --fields=LIST ; - näita ainult väljavalitud 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.