cut-komento Linuxissa esimerkkien avulla

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 perussyntaksi cut> komento on:

cut OPTION... [FILE]... 

Missä

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

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

Huomautus : Jos FILE> 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 tavut LIST> (esim., -b 1-3,7> ).

-c, –characters=LIST

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

-d, –erotin=JAKO

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

-f, -fields=LIS

Valitsee vain määritetyt kentät LIST> , 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

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