UNIX-ohjelman cut-komento on komento, jolla leikataan osiot kustakin tiedostorivistä ja kirjoitetaan tulos vakiotulosteeseen. Sitä voidaan käyttää viivan osien leikkaamiseen tavun sijainnin, merkin ja kentän mukaan. Periaatteessa leikkauskomento viipaloi rivin ja poimii tekstin. Vaihtoehto on määritettävä komennolla, muuten se antaa virheen. Jos annetaan useampi kuin yksi tiedostonimi, jokaisen tiedoston tietoja ei edeltää sen tiedostonimi.
Syntaksi:
cut OPTION... ...
Tarkastellaan kahta tiedostoa, joiden nimi state.txt ja capital.txt sisältää 5 Intian osavaltioiden nimeä ja isot kirjaimet.
$ cat state.txtAndhra PradeshArunachal PradeshAssamBiharChhattisgarh
Ilman määrittelemää vaihtoehtoa se näyttää virheen.
$ cut state.txtcut: you must specify a list of bytes, characters, or fieldsTry "cut --help" for more information.
Asetukset ja niiden kuvaus esimerkkein:
1. -b (tavu): Tiettyjen tavujen purkamiseksi sinun on noudatettava -b-vaihtoehtoa, ja tavuiden numeroiden luettelo on erotettava pilkuilla. Tavujen alue voidaan määrittää myös yhdysmerkillä (-). Tavujen numeroiden luettelo on määritettävä, muuten se antaa virheen. Välilehtiä ja askelpalautinta kohdellaan kuin yhden tavun merkkiä.
Se käyttää erityistä muotoa tavujen valitsemiseksi rivin alusta loppuun:
In this, 1- indicate from 1st byte to end byte of a line$ cut -b 1- state.txtAndhra PradeshArunachal PradeshAssamBiharChhattisgarhIn this, -3 indicate from 1st byte to 3rd byte of a line$ cut -b -3 state.txtAndAruAssBihChh
2. -c (sarake): Jos haluat leikata merkillä, käytä -c-vaihtoehtoa. Tämä valitsee merkit, jotka annetaan -c-vaihtoehdolle. Tämä voi olla pilkulla erotettu numeroiden luettelo tai yhdysmerkillä (-) erotettu numeroalue. Välilehtiä ja askelpalautinta käsitellään hahmona. Merkkilukujen luettelo on määritettävä, muuten se aiheuttaa virheen tässä vaihtoehdossa.
Syntaksi:
$cut -c filename
Tässä k merkitsee merkin aloituspaikka ja n tarkoittaa merkin loppuasemaa kullakin rivillä, jos k ja n erotetaan ”-”: llä, muuten ne ovat vain merkin sijainti kullakin rivillä syötteeksi otetusta tiedostosta.
$ cut -c 2,5,7 state.txtnrrahsmirhti
Yllä oleva komento tulostaa toisen, viidennen ja seitsemännen merkin tiedoston jokaisesta rivistä.
$ cut -c 1-7 state.txtAndhraArunachAssamBiharChhatti
Yllä oleva komento tulostaa tiedoston jokaisen rivin seitsemän ensimmäistä merkkiä.
Cut käyttää erityistä lomaketta merkkien valitsemiseen rivin alusta loppuun:
$ cut -c 1- state.txtAndhra PradeshArunachal PradeshAssamBiharChhattisgarhAbove command prints starting from first character to end. Here in command only startingposition is specified and the ending position is omitted.$ cut -c -5 state.txtAndhrArunaAssamBiharChhatAbove command prints starting position to the fifth character. Here the starting positionis omitted and the ending position is specified.
3. -f (kenttä): -c -vaihtoehto on hyödyllinen kiinteän pituisille viivoille. Useimmilla unix-tiedostoilla ei ole kiinteitä- Pituuksien viivojen purkamiseksi sinun on leikattava kenttien eikä sarakkeiden avulla. Luettelo kenttien numeroista on erotettava pilkulla. Alueita ei kuvata -f-vaihtoehdolla. cut käyttää välilehteä oletusarvoisena kentän erottimena, mutta voi toimia myös muiden erottimien kanssa käyttämällä -d-vaihtoehtoa.
Huomaa: Välilyöntiä ei pidetä erottajana UNIXissa.
Syntaksi:
$cut -d "delimiter" -f (field number) file.txt
Kuten tilassa state.txt, kentät erotetaan välilyönnillä, jos -d -vaihtoehtoa ei käytetä, se tulostaa koko rivin:
$ cut -f 1 state.txtAndhra PradeshArunachal PradeshAssamBiharChhattisgarh
Jos käytetään -d-vaihtoehtoa, se katsoi välilyöntiä kentän erottimeksi tai erottimeksi:
$ cut -d " " -f 1 state.txtAndhraArunachalAssamBiharChhattisgarh
Command prints field from first to fourth of each line from the file.Command:$ cut -d " " -f 1-4 state.txtOutput:Andhra PradeshArunachal PradeshAssamBiharChhattisgarh
4. –Kommentti: Kuten nimestä voi päätellä, se täydentää tulosta. Tätä vaihtoehtoa voidaan käyttää yhdessä muiden vaihtoehtojen kanssa joko -f tai -c kanssa.
5. –Output-delimiter: Oletusarvon mukaan ulostulorajoitin on sama kuin input-erotin, joka määritetään leikkauksessa -d -optiolla. Muuta lähtöerotinta käyttämällä vaihtoehtoa –output-delimiter = ”erotin”.
$ cut -d " " -f 1,2 state.txt --output-delimiter="%"Andhra%PradeshArunachal%PradeshAssamBiharChhattisgarh
Täällä leikkaa komento muuttaa erotinta (%) vakiolähdössä kentät, jotka määritetään käyttämällä -f -vaihtoehtoa.
6. –Versio: Tätä vaihtoehtoa käytetään näyttämään leikkausversio, joka on käynnissä järjestelmässäsi.
$ cut --versioncut (GNU coreutils) 8.26Packaged by Cygwin (8.26-2)Copyright (C) 2016 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or later .This is free software: you are free to change and redistribute it.There is NO WARRANTY, to the extent permitted by law.Written by David M. Ihnat, David MacKenzie, and Jim Meyering.
Leikkauskomennon sovellukset
1. Kuinka käyttää häntää putkilla (|): Leikkauskomento voidaan liittää monilla muilla unix-komennoilla. Seuraavassa esimerkissä cat-komennon tulos annetaan syötteenä komentoon cut-komento -f -toiminnolla tiedostosta state.txt tulevien tilanimien järjestämiseksi päinvastaisessa järjestyksessä.
$ cat state.txt | cut -d " " -f 1 | sort -rChhattisgarhBiharAssamArunachalAndhra
Siihen voidaan myös liittää yksi tai useampi suodatin lisäkäsittelyä varten. Kuten seuraavassa esimerkissä, käytämme cat, head and cut -komentoa ja joiden lähtö tallennetaan tiedostonimiin list.txt käyttämällä direktiiviä (>).
$ cat state.txt | head -n 3 | cut -d " " -f 1 > list.txt$ cat list.txtAndhraArunachalAssam
Kiitos Saloni Gupta uusien esimerkkien tarjoamisesta.