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 output only these bytes -c, --characters=LIST output only these characters -d, --delimiter=DELIM use DELIM instead of TAB for field delimiter -f, --fields=LIST output only these fields; also print any line that contains no delimiter character, unless the -s option is specified -n with -b: don't split multibyte characters -s, --only-delimited do not print lines not containing delimiters
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õttid -c esimesest viiendani positsioonini.
$ 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 formaatis, mis meid huvitab.