Leikkauskomentoa käytetään leikkaamaan vakiotulovirran tai datatiedostojen osia Unix cut -apuohjelman avulla. Se on osa GNU Coreutils -pakettia ja BSD-perusjärjestelmää, joten se on oletusarvoisesti käytettävissä kaikissa Linux- ja BSD-järjestelmissä. Unixin leikkauskomento sallii osioiden leikkaamisen tavun sijaintien, merkkien tai kenttien perusteella, jotka on erotettu erottimella, kuten ”-” tai ”:”. Oppaamme tarjoaa käytännön johdannon Linux-leikkauskomentoon käyttämällä hyvin kuratoituja esimerkkejä. Kokeile niitä tämän viestin lukemisen rinnalla saadaksesi ensikäden kokemusta.

Esimerkkejä Linux Cut -komennoista Unixissa

Asiantuntijamme ovat yrittäneet tehdä parhaansa tämä opas on ystävällinen uusille Linux-käyttäjille. Lisäksi se toimii kätevänä viitekohtana kokeneille käyttäjille. Kannustamme lukijoita kokeilemaan komentoja tutkittaessa niitä. Esittelemme nämä Linux Cut -komennot sekä vakiosyötteen että viitetiedoston avulla. Voit kopioida ja liittää tiedoston sisällön täältä ja luoda sen järjestelmään.

Esittelytarkoituksiin käytetty viitetiedosto

Käytämme tekstitiedostoa nimeltä test.txt kotihakemistossa. Tiedosto sisältää viisi riviä tai riviä, jotka kaikki sisältävät neljä saraketta. Jokainen rivi sisältää maan nimen, pääkaupungin, valuutan ja väestön; kaikki erotetaan erotinpisteellä. Luo tämä tiedosto järjestelmääsi ja täytä se alla olevalla sisällöllä.

Unixin Cut-komennon syntaksit

Linux cut -komennolla on alla oleva syntaksin muoto.

cut OPTION... ...

Leikataksesi tekstiä syötevirrasta, Käytän kaikukomentoa ja putken (|) sen ulostuloa leikkauskomentoon. Samaa menetelmää voidaan käyttää leikkauksen syötteen toimittamiseen kissasta.

Leikkaa teksti tavuasentoihin

Leikkaustyökalun tarjoama b-vaihtoehto antaa meille mahdollisuuden leikata osia teksti- niiden tavuasemien perusteella. Meidän on käytettävä tähän tarkoitukseen cut-komentoa flag-b: n ja tavunumeroiden kanssa.

1. Leikkaa vain yksi tavu tulovirrasta

$ echo "cutting text from input" | cut -b 1

Yllä oleva komento toistaa merkkijonon ”leikkaa teksti syötteestä” vakiolähdöksi ja syöttää sen tulona Cut-komento leikkaa vain ensimmäisen tavun (c) tästä merkkijonosta, koska vain 1 toimitettiin -b-lipulla.

2. Leikkaa tietyt tavut tulovirrasta

$ echo "cutting text from input" | cut -b 1,3

Tämä komento leikkaa vain merkkijonon ”leikkaava teksti syötteestä” ensimmäisen ja kolmannen tavun ja näyttää sen ”ct” Kokeile kokeilemalla eri tavuasemilla.

3. Leikkaa tavu alue tulovirrasta

$ echo "cutting text from input" | cut -b 1-12

Yllä oleva komento leikkaa tavualue 1-12 annetusta merkkijonosta ja tulostaa ”leikkaavan tekstin” vakiotulosteeseen. Merkkijonon ulkopuolella olevien tavualueiden tarjoaminen johtaa viestiin, jossa näkyy ”leikkaus: virheellinen tavu tai merkkialue”.

4. Leikkaa vain yksi tavu tekstitiedostosta

$ cut -b 1 test.txt

Tämä komento näyttää vain testitxt-tiedoston sisällä olevan viiden rivin ensimmäiset tavut. Se vastaa komentoa $ cat test.txt | cut -b 1

5. Leikkaa tietyt tavut tekstitiedostosta

$ cut -b 1,3 test.txt

Yllä oleva komento leikkaa vain kunkin rivin ensimmäisen ja kolmannen tavun. voi määrittää minkä tahansa tavunumeron, kunhan se kuuluu käytettävissä olevien tavujen alueelle.

6. Leikkaa tavutiedosto alue tekstitiedostosta

$ cut -b 1-12 test.txt

Tämä komento antaa testitxt-tiedoston jokaisen rivin ensimmäisen – kahdestoista tavun. Huomaa, että tällä komennolla on toiminnallisuuden samankaltaisuus kolmannen komennon kanssa.

7. Leikkaa ensimmäinen 7 tavua aakkosjärjestyksessä

$ cut -b 1-7 test.txt | sort

Voimme tarjota cut-komennon lähtö syötteenä lajittelukomentoon kunkin rivin seitsemän ensimmäisen tavun näyttämiseksi aakkosjärjestyksessä. Aakkosjärjestyksessä lajittelukomento ei vaadi mitään vaihtoehtoja.

8. Leikkaa ensimmäiset 7 tavua päinvastaisessa järjestyksessä

$ cut -b 1-7 test.txt | sort -r

Tämä leikkauskomento leikkaa ensimmäiset 7 tavua kustakin rivistä ja tuottaa ne päinvastaisessa järjestyksessä. Katso, kuinka cut-komennon tulos syötetään lajittelukomentoon putken avulla.

9. Leikkaa viidennestä tavusta syöttövirran loppuun

$ echo "cutting text from input" | cut -b 5-

Yllä oleva leikkauskomento leikkaa tekstin viidennestä tavusta merkkijonon loppuun. Tämä komento on kätevä, kun sinun on leikattava tietystä tavun sijainnista tulovirran loppuun saakka. Muuta vain b-lipun arvoa pitäen perässä.

10. Leikkaa viidennestä tavusta tiedoston loppuun

$ cut -b 5- test.txt

Tämä komento alkaa leikata jokaista viidestä testirivistä.txt viidennen tavun asemasta ja viimeistele vasta kunkin rivin päätyttyä. Jälkiviiva (-) on pakollinen tälle toiminnolle.

11. Leikkaa määritetty määrä tavuja alkaen ensimmäisestä

$ echo "cutting text from input" | cut -b -5

Tämä komento leikkaa syötemerkkijonon viisi ensimmäistä tavua. Voit leikata alkutavusta mihin tahansa muuhun tavuun korvaamalla vain b-lipun arvon. Muista lisätä edellinen väliviiva (-), muuten tulos ei ole odotusten mukainen.

12. Leikkaa ensimmäisestä tavusta määritettyyn sijaintiin tiedostosta

$ cut -b -5 test.txt

Yllä oleva komento leikkaa vain viiden ensimmäisen tavun jokaisesta rivistä tekstitiedostostamme. Huomaa, kuinka väliviivaa (-) käytetään tämän luettelon komentoihin 9-12.

Leikkaa tekstiä merkkien perusteella

Unixin leikkauskomennon avulla käyttäjät voivat leikata tekstiosan merkkien perusteella. Käsitellessäsi suuria tiedostojen käsittelytehtäviä sinun on tehtävä tämä melko usein. Kokeile niitä ja huomaa merkkipohjaisen leikkauksen ja tavupohjaisen leikkaamisen yhtäläisyydet.

13. Leikkaa vain yksi merkki tulovirrasta

$ echo "cutting text from input" | cut -c 1

Yllä oleva komento katkaisee ensimmäisen merkin vakiotulosta ja näyttää sen päätelaitteessa. Tässä tapauksessa se on ”c”. Vaihda merkkijono toiseen, jotta ymmärrät tämän selvästi.

14. Leikkaa tietyt merkit syötevirrasta

$ echo "cutting text from input" | cut -c 1,3

Tämä komento leikkaa vain syötemerkkijonon ensimmäisen ja kolmannen merkin ja näyttää ne. Voit yrittää leikata muita merkkejä, mutta muista olla ylittämättä merkkijonosi merkkirajaa.

15. Leikkaa merkkialue tulovirrasta

$ echo "cutting text from input" | cut -c 1-12

Tämän komennon tapauksessa ”cut” leikkaa merkit ensimmäisestä sijasta kahdestoistaosaan. Tulos on ”leikkaava teksti”. Huomaa tämän Linux-leikkauskomennon ja kolmannen komennon yhtäläisyydet.

16. Leikkaa vain yksi merkki tekstitiedostosta

$ cut -c 1 test.txt

Tämä komento näyttää vain test.txt-tiedostomme jokaisen viiden rivin ensimmäiset merkit. Se vastaa komentoa $ cat test.txt | cut -c 1 ja antaa saman tuloksen kuten saisimme tavutunnuksen avulla.

17. Leikkaa tietyt merkit tekstitiedostosta

$ cut -c 7,10 test.txt

Yllä oleva komento leikkaa vain kunkin viiden rivin seitsemäs ja kymmenes merkki. Voit määrittää minkä tahansa merkkipaikan, kunhan ne kuuluvat käytettävissä olevien merkkien alueelle.

18. Leikkaa tekstitiedoston merkkialue

Tämä komento antaa test.txt-tiedoston kunkin rivin ensimmäisen – kahdestoista merkin. Unixin leikkauskomento käyttäytyy samalla tavalla, kun leikataan merkkialue ja tavualue.

19. Leikkaa 5 ensimmäistä merkkiä aakkosjärjestyksessä

$ cut -c 1-5 test.txt | sort

Voit toimittaa cut-komennon lähdön tulona lajittelukomentoon viiden ensimmäisen tavun leikkaamiseksi. jokainen rivi aakkosjärjestyksessä. Lajittelukomento ei vaadi vaihtoehtoja aakkosjärjestyksessä.

20. Leikkaa 5 ensimmäistä merkkiä päinvastaisessa järjestyksessä

$ cut -c 1-5 test.txt | sort -r

Tämä leikkauskomento leikkaa jokaisen rivin viisi ensimmäistä merkkiä ja näyttää ne käänteisen lajittelun jälkeen. Katso, kuinka leikkauskomennon tulos syötetään lajittelukomentoon putken avulla.

21. Leikkaa viidennestä merkistä tulovirran loppuun

$ echo "cutting text from input" | cut -c 5-

Yllä oleva leikkauskomento leikkaa tekstin viidennestä tavusta merkkijonon loppuun . Se voi olla hyödyllistä, kun sinun on leikattava määritetystä merkkikohdasta tulovirran loppuun asti. Muuta vain arvoa b jälkeen pitäen perässä.

22. Leikkaa viidennestä merkistä tiedoston loppuun

$ cut -c 5- test.txt

Tämä komento alkaa leikata test.txt-tiedoston kaikkia viittä riviä niiden viidennestä merkistä ja sijoittuu jokaisen rivin loppuun. Jälkiviiva (-) on pakollinen tällaisessa toiminnassa.

23. Leikkaa määritetty määrä merkkejä alkaen ensimmäisestä sijainnista

$ echo "cutting text from input" | cut -c -5

Tämä komento leikkaa vain syötteemme viisi ensimmäistä merkkipaikkaa. Voit leikata aloitusmerkistä mihin tahansa toiseen merkkipaikkaan korvaamalla vain arvon -c. Muista lisätä edellinen väliviiva (-), muuten tulos ei ole sama kuin odotit.

24. Leikkaa ensimmäisestä merkistä tiedostoon määritettyyn sijaintiin

$ cut -c -5 test.txt

Tämä Unixissa oleva leikkauskomento leikkaa tiedostotestin jokaisen rivin viisi ensimmäistä merkkiä. txt. Huomaa, kuinka väliviivaa (-) käytetään tämän luettelon komentoihin 21-24.

Leikkaa teksti sarakkeista kenttien ja erottimien avulla

Leikkauskomennon avulla käyttäjät voivat leikata tekstin osia hyvin helposti. Tätä varten meidän on käytettävä sekä leikattua d- että f-lippua. D-lippu tarkoittaa rajaimia ja f kenttiä. Erottimet ovat erikoismerkkejä, jotka erottavat osan tekstistä muista. Yleisiä esimerkkejä ovat ”-”, ”:” ja ”” (välilyönti). Käyttämämme viitetiedoston erottimena on ‘:’.

25. Leikkaa tulovirran ensimmäinen osa

$ echo "Let"s cut this input stream section by section" | cut -d " " -f 1

Yllä oleva leikkauskomento leikkaa ensimmäisen tekstiosan (tässä tapauksessa ”Let’s”) tulovirrasta. Huomaa, että erotinmerkin -d arvo on yksi välilyönti. Kokeile sitä kaksoispisteellä erotetulla tekstillä ja katso, mitä tapahtuu itse.

26. Leikkaa tiedoston ensimmäinen osa

$ cut -d ":" -f 1 test.txt

Tämä komento palauttaa jokaisen rivin ensimmäiset sarakkeet viitetiedostossamme ja tulostaa kaikkien viiden maan nimen. Erotin-lipulle annettu arvo oli kaksoispiste, koska Näin tiedostomme erottaa sarakkeet.

27. Leikkaa tulovirran erityiskohdat

$ echo "Let"s cut this input stream section by section" | cut -d " " -f 1,2,3

Tässä käskimme leikkausta näyttämään vain annetun syötemerkkijonon kolme ensimmäistä kenttää. Se tehdään pilkulla erotetulla kenttäsijaintiryhmällä. Tämän komennon tulos on ’Leikataan tämä’.

28. Leikkaa tietyn osion Tiedosto

$ cut -d ":" -f 1,2,3 test.txt

Tämä yhteistyö mmand tarjoaa myös samanlaisen lähdön kuin edellinen komento. Tässä leikkaus työskentelee vain tiedoston kanssa tavallisen syötteen sijaan, siinä kaikki. Siinä tulisi näkyä luettelossa olevien maiden nimi, pääoma ja valuutta. Huomaa kuitenkin niiden erottimien välinen ero (väli vs. kaksoispiste).

29. Leikkaa kenttäalue tulovirrasta

$ echo "Let"s cut this input stream section by section" | cut -d " " -f 1-5

Yllä oleva komento leikkaa merkkijonon viisi ensimmäistä kenttää ja näyttää sen päätelaitteessa. Heittomerkit vaaditaan, kun tilaa käytetään erottimena useiden kenttien välillä.

30. Leikkaa kentän alue tiedostosta

$ cut -d ":" -f 1-3 test.txt

Tämä leikkauskomento leikkaa tekstitiedostomme kaikki kolme ensimmäistä saraketta ja näyttää sen tulosteena. Sen pitäisi näyttää sama tulos kuin edellistä edeltävän komennon. Heittomerkit eivät ole pakollisia sellaisille merkeille kuin – tai:.

31. Leikkaa jokainen merkintä tietystä kentästä ja lisää ne aakkosjärjestykseen

$ cut -d ":" -f 1 test.txt | awk "{print $1}" | sort

Oletetaan, että sinun on selvitettävä luettelomme viiden maan nimet aakkosjärjestyksessä. voi käyttää yllä olevaa komentoa tähän. Siinä luetellaan maat aakkosjärjestyksessä. Korvaus f-lipun arvossa antaa sinun tehdä niin muillakin kentillä.

32. Leikkaa kukin merkintä kentästä ja listaa ne aakkosjärjestyksessä päinvastaisessa järjestyksessä

$ cut -d ":" -f 1 test.txt | awk "{print $1}" | sort -r

Tämä komento suorittaa saman toiminnon kuin edellinen, vain lajittelee merkinnät taaksepäin tavalla, siinä kaikki. Lähtö muutetaan täällä lajittelun vuoksi välitetyn -r-lipun vuoksi.

33. Leikkaa kiinteästä kentästä syötevirran loppuun

$ echo "Let"s cut this input stream section by section" | cut -d " " -f 2-

Tämä leikkauskomento leikkaa toisesta kentästä merkkijonon loppuun. Se voi olla hyödyllistä, kun sinun on leikattava tietystä asennosta syötteen loppuun saakka. Voit muuttaa -f: n arvoa pitämällä perässä – päällä leikkaamiseksi eri kentiltä.

34. Leikkaa kiinteästä kentästä tiedoston loppuun

$ cut -d ":" -f 2- test.txt

Näin käytettäessä leikkauskomento alkaa leikata määritetystä kentästä ja jatkuu loppuun jokaisesta rivistä. Tällöin se tulostaa luettelon viiden maan pääoman, valuutan ja väestön.

35. Leikkaa määritetty sarakemäärä ensimmäisestä alkaen

$ echo "Let"s cut this input stream section by section" | cut -d " " -f -5

Tämä komento leikkaa vain annetun syötteen viisi ensimmäistä kenttää. Voit leikata aloitussarakkeesta mihin tahansa toiseen sarakkeen sijaintiin korvaamalla vain arvon -f. Sinun on kuitenkin lisättävä edellinen väliviiva (-), muuten tulos ei vastaa odotustasi.

36. Leikkaa joitain määritettyjä tiedostosarakkeita ensimmäisestä alkaen

$ cut -d ":" -f -2 test.txt

Tämä Linux-komento aloittaa tiedoston test.txt leikkaamisen ensimmäisestä sarakkeesta ja päättyy sen jälkeen, kun se on lopettanut toisen komennon leikkaamisen. Joten tämän komennon tulos näyttää yksinkertaisesti kunkin maan nimen ja niiden pääkaupungit.

37. Leikkaa useita CSV-tiedostojen kenttiä

$ cut -d "," -f 1,2 file.csv

Leikkauskomento osoittautuu usein toimivaksi työkaluksi, kun työskentelet massiivisten CSV-asiakirjojen kanssa. Esimerkiksi yllä oleva komento leikkaa pilkulla erotetun CSV-tiedoston file.csv kaksi ensimmäistä saraketta.

38.Leikkaa CSV-tiedostojen tietyt kentät ja lajittele ne päinvastaisessa järjestyksessä

$ cut -d "," -f 1,3,5 file.csv | sort -r

Yllä oleva komento leikkaa pilkuilla erotetun CSV: n ensimmäisen, kolmannen ja viidennen sarakkeen tiedosto file.csv ja näytä tulosteet päinvastaisessa järjestyksessä.

Jotkut muut Linux-leikkauskomennot asiantuntijoille

Leikkauskomentoa voidaan käyttää tiedostojen edistyneeseen käsittelyyn hyödyntämällä sitä sopivien suodattimet ja muut vankat Linux-komennot. Alla käydään läpi joitain sellaisia komentoja, joista voi olla hyötyä pitkällä aikavälillä.

39. Tarkista passwd-tiedosto Cut-komennolla

$ cut -d ":" -f1 /etc/passwd

Useimpiin järjestelmiin / etc: ään tallennettu passwd-tiedosto sisältää erittäin arkaluontoista tietoa järjestelmästä ja sen käyttäjistä. Voit tarkastaa tämän tiedoston nopeasti leikkauskomennolla. Erotinta ‘:’ käytetään, koska tämän tiedoston sarakkeet erotetaan sitä käyttäen. Muuta -f: n arvoa seurataksesi eri kenttiä.

40. Leikkaa tietyt kentät ja näytä vain yksilölliset merkinnät

$ cut -d ":" -f 3 test.txt | uniq -u

Tämä Linux-komento leikkaa tiedoston test.txt kolmannen sarakkeen ja näyttää vain yksilölliset merkinnät . Joten tälle tiedostolle lähtö sisältää vain kolme valuuttaa – Euro, Liira ja Jeni.

41. Leikkaa kaikki syötevirran tavut paitsi määritetyt.

$ echo "Let"s cut this input stream section by section" | cut -b 1,3,5,7 --complement

Tämä leikkauskomento leikkaa kaikki syötetyn merkkijonon merkit paitsi -b: hen syötetyt. Joten tavuasemat ensimmäinen, kolmas, viides ja seitsemäs jätetään pois tuotoksesta.

42. Leikkaa kaikki tiedoston tavut paitsi määritetyt.

$ cut -b 2,4,6 test.txt --complement

Tällä tavalla käytettäessä cut-komento leikkaa kaikki tiedoston test.txt tavut paitsi komentossa mainittu. Siksi lähtö ei sisällä kunkin rivin toista, neljännettä ja kuudetta tavua.

43. Leikkaa kaikki syötevirran merkit lukuun ottamatta määritettyjä henkilöitä

$ echo "Let"s cut this input stream section by section" | cut -c 1,3,5,7 --complement

Tämä komento pidättää leikkaamasta syötemerkkijonon ensimmäistä, kolmatta, viidentettä ja seitsemättä merkkiä ja sen sijaan leikkaa kaikki muut merkit paitsi nämä neljä.

44. Leikkaa kaikki tiedoston merkit paitsi määritetyt.

$ cut -c 2,4,6 test.txt --complement

Tämän komennon tapauksessa lähtö sisältää kaikki test.txt-tiedostojen merkit paitsi ne mainitsi. Joten merkkejä toinen, neljäs ja kuudes ei näytetä.

45. Leikkaa kaikki syötteet, paitsi määritetyt henkilöt

$ echo "Let"s cut this input stream section by section" | cut -d " " -f 1,3,5 --complement

Yllä oleva komento antaa merkkijonon ”leikkaa osio kerrallaan”. Joten se näyttää kaikki syöttöosat ilman kenttälipun jälkeen mainittuja osioita.

46. Leikkaa kaikki tiedoston sarakkeet, paitsi määritetyt.

$ cut -d ":" -f 2,3 test.txt --complement

Tämä komento leikkaa vain tiedoston test.txt ensimmäisen ja viimeisen sarakkeen. Joten voit helposti poistaa joidenkin kenttien valinnan, kun käsittelet suuria taulukkodokumentteja komplementtilipulla.

47. Leikkaa osa syötteestä ja käännä ne merkkien mukaisesti

$ echo "Let"s cut this input stream section by section" | rev | cut -d " " -f 1,3

Yllä oleva Linux-komento leikkaa syötteen ensimmäisen ja kolmannen osan ja kääntää ne merkkisuunnassa. Huomaa, kuinka yhden komennon lähtö syötetään syötteenä muihin komentoihin.

48. Leikkaa tietyt sarakkeet tiedostoon ja käännä ne merkkien mukaan

$ cut -d ":" -f 1,3 test.txt | rev

Tämä komento leikkaa vain tiedoston test.txt määritetyt kentät ja näyttää tuloksen merkkijonolla päinvastaisella tavalla.

49. Muokkaa leikkauskomennon lähtöerotinta

$ echo "A,comma,separated,list,for,demonstration,purposes" | cut -d "," -f 1- --output-delimiter=" "

Leikkaus antaa meille mahdollisuuden muokata lähtöerotinta tulosta näytettäessä. Yllä oleva komento leikkaa pilkulla erotetun luettelon kaikki osat, mutta korvaa pilkut välilyönneillä, kun tulosta näytetään.

50. Esimerkki Cut + Sed -komennosta sarkaimen erottimella

$ sed "s/:/\t/g" test.txt | cut -f 1-4

Luettelomme viimeinen leikkauskomento käyttää mahtavaa voimakasta sed-apuohjelmaa korvaamaan tiedostomme kaksoispisteet sarkaimilla . Voit korvata \ t joillakin muilla merkeillä, kuten – tai; vaihdettavaksi valitsemallesi ulostulorajoittimelle.

Ajatusten lopettaminen

Unixin leikkauskomento on monipuolinen työkalu, josta voi olla monia etuja käyttäjille, joiden on käsiteltävä suuria tiedostoja usein. Olemme hahmottaneet 50 parasta Linux-leikkauskomentoa auttamaan sinua tutustumaan tähän upeaan apuohjelmaan. Kokeile niitä erikseen ja tee muutoksia käytettävissä oleviin vaihtoehtoihin. Se auttaa sinua ymmärtämään leikkauskomennon erilaisia muunnelmia perusteellisesti. Toivottavasti onnistuimme pyrkimyksissämme auttaa sinua mahdollisimman paljon. Pysy kanssamme saadaksesi lisää hyödyllisiä Linux-komentoja koskevia ohjeita.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *