logo

cut-komento Linuxissa esimerkkien avulla

Linuxin leikkauskomento on komento, jolla leikataan osiot jokaiselta tiedostoriviltä ja kirjoitetaan tulos vakiotulosteeseen. Sitä voidaan käyttää viivan osien leikkaamiseen tavun sijainnin, merkin ja kentän mukaan. Leikkaa-komento leikkaa rivin ja purkaa tekstin. On tarpeen määrittää vaihtoehto komennolla, muuten se antaa virheen. Jos annetaan useampi kuin yksi tiedostonimi, kunkin tiedoston tietoja ei edeltä sen tiedostonimi.

Sisällysluettelo



Leikkaa komennon syntaksi

Kohteen perussyntaksicut>komento on:

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

Missä

`OPTION`> määrittää halutun toiminnan



` FILE> `>edustaa syöttötiedostoa.

Huomautus : JosFILE>ei ole määritelty, ` cut`> lukee vakiotulosta (stdin).

Vaihtoehdot leikkauskomennolla

Tässä on luettelo yleisimmin käytetyistä vaihtoehdoista ` cut`> komento:



Vaihtoehto

Kuvaus

-b, -tavut = LIST

Valitsee vain kohdassa määritetyt tavutLIST>(esim.,-b 1-3,7>).

-c, –characters=LIST

Valitsee vain kohdassa määritetyt merkitLIST>(esim.,-c 1-3,7>).

-d, –erotin=JAKO

KäyttääDELIM>kentän erotinmerkkinä sarkainmerkin sijaan.

-f, -fields=LIS

Valitsee vain määritetyt kentätLIST>, erotettuna erottimella (oletus on sarkain).

-n

Älä jaa monitavuisia merkkejä (ei vaikutusta, ellei-b>tai-c>on määritelty).

-täydentää

Kääntää kenttien/merkkien valinnan. Tulosta kentät/merkit, joita ei ole valittu.

Käytännön esimerkkejä leikkauskomennosta

Tarkastellaan kahta tiedostoa, joilla on nimi state.txt ja Capital.txt sisältää 5 Intian osavaltion ja vastaavasti pääkaupungin nimeä.

$ cat state.txt Andhra Pradesh Arunachal Pradesh Assam Bihar Chhattisgarh>

Ilman vaihtoehtoja, se näyttää virheen.

  $ cut state.txt   cut: you must specify a list of bytes, characters, or fields Try 'cut --help' for more information.>

Pura tietyt tavut (-b>) Leikkaa komentoa käyttämällä

-b(tavu): Tietyt tavut poimitaan noudattamalla valitsinta -b ja tavunumeroiden luettelo pilkulla erotettuna. Tavualue voidaan määrittää myös yhdysviivalla (-). On tarpeen määrittää lista tavunumeroista, muuten se antaa virheen.

Sarkaimet ja askelpalauttimet niitä käsitellään kuin 1 tavun merkkiä.

Luettelo ilman alueita :

cut -b 1,2,3 state.txt>
luettelo ilman aluetta

luettelo ilman aluetta

Luettelo alueineen:

cut -b 1-3,5-7 state.txt>
luettelo alueineen

luettelo alueineen

Se käyttää erityistä muotoa tavujen valitsemiseen rivin alusta loppuun:

Erikoislomake: Valitse tavut rivin alusta loppuun

Tässä 1- osoittaa rivin 1. tavusta lopputavuun

cut -b 1- state.txt>
erityinen muoto

erikoislomake -b-vaihtoehdolla

Tässä -3 tarkoittaa rivin 1. tavua 3. tavua

cut -b -3 state.txt>
erityinen muoto

erikoismuoto -b vaihtoehto

Leikkaa hahmon mukaan (-c>) Leikkaa komentoa käyttämällä

-c (sarake): Leikkaa merkin mukaan käyttämällä -c-vaihtoehtoa. Tämä valitsee -c-vaihtoehdolle annetut merkit. Tämä voi olla luettelo numeroista, jotka on erotettu pilkulla, tai joukko numeroita, jotka on erotettu yhdysmerkillä (-).

Sarkaimet ja askelpalauttimet kohdellaan hahmona. On tarpeen määrittää merkkinumeroluettelo, muuten tämä antaa virheen tällä valinnalla.

Syntaksi:

cut -c [(k)-(n)/(k),(n)/(n)] filename>

Tässä, k tarkoittaa merkin aloituspaikkaa ja n ilmaisee merkin loppupaikan jokaisella rivillä, jos k ja n erotetaan toisistaan ​​- muutoin ne ovat vain merkin paikka jokaisella syötteenä otetun tiedoston rivillä.

Poimi tietyt merkit:

cut -c 2,5,7 state.txt>
Poimi tiettyjä merkkejä

Poimi tiettyjä merkkejä

Yllä oleva leikkauskomento tulostaa toisen, viidennen ja seitsemännen merkin tiedoston jokaiselta riviltä.

Poimi ensimmäiset seitsemän merkkiä:

cut -c 1-7 state.txt>
Pura ensimmäiset seitsemän merkkiä

Pura ensimmäiset seitsemän merkkiä

Yllä oleva leikkauskomento tulostaa tiedoston jokaisen rivin seitsemän ensimmäistä merkkiä. Cut käyttää erityistä muotoa merkkien valitsemiseen rivin alusta loppuun:

Erikoislomake: Merkkien valinta rivin alusta loppuun

cut -c 1- state.txt>
merkkien valinta rivin alusta loppuun

merkkien valinta rivin alusta rivin loppuun käyttämällä -c-vaihtoehtoa

Yllä oleva komento tulostaa ensimmäisestä merkistä loppuun. Tässä komennossa vain aloitusasento määritetään ja loppuasento jätetään pois.

cut -c -5 state.txt>
merkkien valinta rivin alusta rivin loppuun käyttämällä -c-vaihtoehtoa

merkkien valinta rivin alusta rivin loppuun käyttämällä -c-vaihtoehtoa

Yllä oleva komento tulostaa aloituskohdan viidenteen merkkiin. Täällä aloituskohta jätetään pois ja lopetuskohta määritellään.

Leikkaus kentän mukaan (-f>) Leikkaa komentoa käyttämällä

-f (kenttä): -c vaihtoehto on hyödyllinen kiinteäpituisille viivoille. Useimmissa unix-tiedostoissa ei ole kiinteäpituisia rivejä. Jotta voit poimia hyödyllisiä tietoja, sinun on leikattava kenttien mukaan sarakkeiden sijaan. Luettelo määritettyjen kenttien numeroista on erotettava pilkulla. Alueita ei kuvata valitsimella -f . leikata käyttää -välilehti oletusarvoisena kentän erottimena, mutta se voi toimia myös muiden erottimien kanssa käyttämällä -d vaihtoehto.

Huomautus: Välilyöntiä ei pidetä erottimena UNIXissa.

Syntaksi:

cut -d 'delimiter' -f (field number) file.txt>

Pura ensimmäinen kenttä:

Kuten tiedostossa state.txt kentät erotetaan välilyönnillä, jos -d-vaihtoehtoa ei käytetä, tulostetaan koko rivi:

cut -f 1 state.txt>
Pura ensimmäinen kenttä käyttämällä -f-vaihtoehtoa

Pura ensimmäinen kenttä käyttämällä -f-vaihtoehtoa

Jos ` -d` -vaihtoehtoa käytetään, jolloin se katsoi välilyönnin kentän erottimena tai erottimena:

cut -d ' ' -f 1 state.txt>
tila kentän erottimena tai erottimena

tila kentän erottimena tai erottimena

Poimi kentät 1-4:

Komento tulostaa kentän jokaisen tiedoston rivin ensimmäisestä neljänteen.

cut -d ' ' -f 1-4 state.txt>

Komento tulostaa kentän ensimmäisestä neljänteen

Komento tulostaa kentän ensimmäisestä neljänteen

Täydennä tulos (--complement>) Leikkaa komentoa käyttämällä

-täydentää: Kuten nimestä voi päätellä, se täydentää tulosta. Tätä vaihtoehtoa voidaan käyttää yhdessä muiden vaihtoehtojen kanssa joko -f tai kanssa -c .

cut --complement -d ' ' -f 1 state.txt>
--täydentää

-täydentää

cut --complement -c 5 state.txt>

--täydentää

-täydentää

Lähtöerotin (--output-delimiter>) Leikkaa komentoa käyttämällä

-lähtö-erotin: Oletuksena lähtöerotin on sama kuin syötteen erotin, jolla määritämme leikkauksessa -d vaihtoehto. Voit muuttaa tulosteen erotinta käyttämällä vaihtoehtoa –lähtö-erotin=erotin .

cut -d ' ' -f 1,2 state.txt --output-delimiter='%'>

2024-02-16_13-18

Tässä cut-komento muuttaa erottimen(%) vakiotulosteessa kenttien välillä, joka määritetään käyttämällä -f-optiota.

Näyttöversio (--version>) Leikkaa komentoa käyttämällä

-versio: Tätä vaihtoehtoa käytetään näyttämään järjestelmässäsi tällä hetkellä käynnissä oleva leikkausversio.

cut --version>

näytä leikkauskomennon versio

näytä leikkauskomennon versio

Kuinka käyttää häntää putkien kanssa (|) leikkauskomennossa

Leikkaa-komento voidaan pipetoida monien muiden unixin komentojen kanssa. Seuraavassa esimerkissä tulos kissa komento annetaan syötteenä leikata komento kanssa -f vaihtoehto lajitella tiedostosta state.txt tulevat tilojen nimet käänteisessä järjestyksessä.

cat state.txt | cut -d ' ' -f 1 | sort -r>
käyttämällä häntää ja putkea (|) leikkauskomennossa

käyttämällä häntää ja putkea (|) leikkauskomennossa

Se voidaan myös yhdistää yhdellä tai useammalla suodattimella lisäkäsittelyä varten. Kuten seuraavassa esimerkissä, käytämme cat, head ja cut -komentoa, jonka tulos on tallennettu tiedostonimeen list.txt käyttämällä direktiiviä(>).

cat state.txt | head -n 3 | cut -d ' ' -f 1>lista.txt>
cat list.txt>

uudelleenohjaus eri tiedostoon

kuinka käyttää mysql-työpöytää

uudelleenohjaus eri tiedostoon

Usein kysyttyjä kysymyksiä leikatusta komennosta Linuxissa – UKK

Kuinka käytän cut> -komento poimia tietyt sarakkeet tiedostosta?

Esimerkki: Ensimmäisen ja kolmannen sarakkeen purkaminen CSV-tiedostosta nimeltä ` data.csv`> .

cut -d',' -f1,3 data.csv>

Voinko käyttää cut> poimimaan joukon merkkejä jokaiselta riviltä?

Kyllä sinä voit. Merkkien 5-10 poimiminen nimetyn tiedoston jokaiselta riviltätext.txt>.

cut -c5-10 text.txt>

Kuinka voin muuttaa cut> komento?

Käytä ` -d`> vaihtoehto, jota seuraa erotinmerkki. Jos esimerkiksi käytät kaksoispistettä (:>) erottimena.

cut -d':' -f1,3 data.txt>

Onko mahdollista käyttää cut> poimitaanko kentät merkin sijainnin perusteella?

Kyllä, voit määrittää merkkien paikat ` -c`> vaihtoehto. Esimerkiksi poimimaan merkit 1-5 ja 10-15 jokaiselta riviltä.

cut -c1-5,10-15 data.txt>

Kuinka käytän cut> purkaa kentät tietyn erottimen perusteella ja tallentaa ne uuteen tiedostoon?

Voit purkaa pilkuilla erotetut kentät ja tallentaa ne uuteen tiedostoon nimeltä ` output.tx> t`>

cut -d',' -f1,3 data.csv>output.txt>

Johtopäätös

Tässä artikkelissa keskustelimme ` cut`> komento Linuxissa, joka on monipuolinen työkalu tiettyjen osien poimimiseen tiedostoista tavun sijainnin, merkin tai kentän perusteella. Se viipaloi tekstirivejä ja tulostaa puretut tiedot. Vaihtoehtoa ei voitu määrittääcut>komento aiheuttaa virheen. Useita tiedostoja voidaan käsitellä, mutta tulos ei sisällä tiedostonimiä. Vaihtoehdot, kuten ` -b`> , ` -c`> , ja ` -f`> sallia poiminta tavun, merkin ja kentän mukaan. The--complement>vaihtoehto kääntää valinnan, tulostaa sen, mitä ei ole valittu, ja--output-delimiter>muuttaa lähdön erotinta. Komento sisältää myös vaihtoehtoja version näyttämiselle, ja sitä voidaan käyttää yhdessä muiden komentojen kanssa putkien kautta lisäkäsittelyä varten.

?list=PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L