Cut Command in Linux
Sisällysluettelo:
- Kuinka käyttää leikkauskomentoa
- Kuinka leikata kentällä
- Kuinka leikata erottimen perusteella
- Kuinka täydentää valintaa
- Kuinka määrittää tulosteen erotin
- Kuinka leikata bytes ja merkit
- Leikatut esimerkit
- Hanki luettelo kaikista käyttäjistä
- Tarkastele 10 yleisimmin käytettyä komentoa
- johtopäätös
Linux- ja Unix-järjestelmissä on saatavana monia apuohjelmia, joiden avulla voit käsitellä ja suodattaa tekstitiedostoja. Leikkaa on komentorivi-apuohjelma, jonka avulla voit leikata rivien osia määritellyistä tiedostoista tai pipedistä ja tulostaa tuloksen vakiotulosteeseen. Sitä voidaan käyttää viivan osien leikkaamiseen erottimen, tavun sijainnin ja merkin perusteella.
Tässä opetusohjelmassa näytämme sinulle kuinka käyttää Linuxin leikkauskomentoa käytännön esimerkkien ja yksityiskohtaisten selitysten avulla yleisimmistä leikkausvaihtoehdoista.
Kuinka käyttää leikkauskomentoa
Leikkauskomennon syntaksi on seuraava:
cut OPTION……
Kun käytät leikkauskomentoa, sinun on käytettävä yhtä ja vain yhtä seuraavista vaihtoehdoista:
-
-f(--fields=LIST) - Valitse määrittelemällä kenttä, kenttäjoukko tai kenttäalue. Tämä on yleisimmin käytetty vaihtoehto.-b(--bytes=LIST) - Valitse määrittelemällä tavu,--bytes=LIST.-c(---characters=LIST) - Valitse määrittelemällä merkki, merkistö tai merkistö.
Muut vaihtoehdot ovat:
-
-d(--delimiter) - Määritä erotin, jota käytetään oletusarvoisen ”TAB”--delimitersijaan. - täydennys - täydentää valintaa. Tätä vaihtoehtoa käytettäessä leikkaus näyttää kaikki tavut, merkit tai kentät valittua paitsi.-s(--only-delimited) ---only-delimitedtulostaa kaikki rivit, joissa ei ole erotinmerkkiä. Tätä vaihtoehtoa käytettäessä leikkaus ei tulosta viivoja, joissa ei ole rajaajia.--output-delimiter- Oletusarvo on käyttää tulon erotinta tulon erottimeksi. Tämän vaihtoehdon avulla voit määrittää eri ulostulon erotinjonon.
Leikkauskomento voi hyväksyä nolla tai enemmän syötettäviä TIEDOSTO-nimiä. Jos TIEDOSTOa ei määritetä tai kun TIEDOSTO on
-
, leikkaus lukee vakiotulon.
Optioille
-f
,
-b
ja
-c
siirretty LIST-argumentti voi olla kokonaisluku, useita pilkuilla erotettuja kokonaislukuja, kokonaislukualue tai pilkuilla erotettu useita kokonaislukualueita. Jokainen alue voi olla yksi seuraavista:
-
Nnnennen kenttä, tavu tai merkki, alkaen 1.N-N: nnessä kentästä, tavu tai merkki, rivin loppuun.NMn: nnestä M: hen kenttään, tavuun tai merkkiin.-Mensimmäisestä M-kenttään, tavu tai merkki.
Kuinka leikata kentällä
Leikkaa-komentoa käytetään useimmiten valittujen kenttien näyttämiseen jokaiselta tiedostoriviltä tai vakiotulolta. Kun määrittelemätöntä oletuserotin on “TAB”.
Alla olevissa esimerkeissä käytämme seuraavaa tiedostoa. Kaikki kentät on erotettu välilehdillä.
test.txt
245:789 4567 M:4540 Admin 01:10:1980 535:763 4987 M:3476 Sales 11:04:1978
Käytettävän 1. ja 3. kentän näyttämiseksi:
cut test.txt -f 1, 3
245:789 M:4540 535:763 M:3476
Tai jos haluat näyttää 1.-4. Kentän:
cut test.txt -f -4
245:789 4567 M:4540 Admin 535:763 4987 M:3476 Sales
Kuinka leikata erottimen perusteella
Kun haluat leikata erottimen perusteella, käytä
-d
vaihtoehtoa, jota seuraa haluamasi erotin.
Esimerkiksi, kun haluat näyttää 1. ja 3. kentän käyttämällä erottimena ”:”, kirjoita:
cut test.txt -d ':' -f 1, 3
245:4540 Admin 01 535:3476 Sales 11
Voit käyttää mitä tahansa yksittäistä merkkiä erottimena. Seuraavassa esimerkissä käytämme välilyöntiä erottimena ja tulostamme toisen kentän:
echo "Lorem ipsum dolor sit amet" | cut -d ' ' -f 2
Kuinka täydentää valintaa
Voit täydentää valintakenttäluetteloa - täydentämällä -vaihtoehtoa. Tämä tulostaa vain ne kentät, joita ei ole valittu
-f
vaihtoehdolla.
Seuraava komento tulostaa kaikki kentät paitsi 1. ja 3. kenttä:
cut test.txt -f 1, 3 --complement
4567 Admin 01:10:1980 4987 Sales 11:04:1978
Kuinka määrittää tulosteen erotin
Määritä ulostulon erotin käyttämällä -
--output-delimiter
-vaihtoehtoa. Esimerkiksi, jos haluat asettaa ulostulon rajoittimen arvoon
_
käytä:
cut test.txt -f 1, 3 --output-delimiter='_'
Kuinka leikata bytes ja merkit
Ennen kuin jatkat, teemme eron tavujen ja merkkien välillä.
Yksi tavu on 8 bittiä ja voi edustaa 256 eri arvoa. Kun ASCII-standardi perustettiin, se otti huomioon kaikki kirjaimet, numerot ja symbolit, joita tarvitaan englannin kanssa työskentelemiseen. ASCII-merkistötaulukossa on 128 merkkiä ja kutakin merkkiä edustaa yksi tavu. Kun tietokoneista tuli maailmanlaajuisesti suosittuja, teknologiayritykset alkoivat ottaa käyttöön uusia merkistökoodauksia eri kielille ja yli 256 merkkiä kestäville kielille, yksinkertainen 1: 1-kartoitus ei ollut mahdollinen. Tämä johtaa erilaisiin ongelmiin, kuten asiakirjojen jakamiseen tai verkkosivustojen selaamiseen, ja tarvittiin uusi Unicode-standardi, joka pystyy käsittelemään suurimman osan maailman kirjoitusjärjestelmistä. UTF-8 luotiin ratkaisemaan nämä ongelmat. UTF-8: ssa kaikkia merkkejä ei ole esitetty yhdellä tavulla. Merkit voidaan esittää yhdellä tavulla 4 tavulla.
Seuraavissa esimerkeissä käytämme
ü
merkkiä, joka vie 2 tavua.
Käytä
-b
(-
--bytes
) -vaihtoehtoa leikata osa rivistä määrittämällä tavun sijainti.
Valitse viides tavu:
echo 'drüberspringen' | cut -b 5
b
Valitse 5., 9. ja 13. tavu:
echo 'drüberspringen' | cut -b 5, 9, 13
bpg
Valitse alue 1. - 5. tavuun:
echo 'drüberspringen' | cut -b 1-5
drüb
Tämän artikkelin kirjoittamishetkellä GNU: n ydinversioissa niputettua leikattua versiota ei ole mahdollista leikata merkkien mukaan. Kun käytetään
-c
vaihtoehtoa, leikkaus toimii samalla tavalla kuin käytettäessä
-b
vaihtoehtoa.
Leikatut esimerkit
Leikkauskomentoa käytetään yleensä yhdessä muiden komentojen kanssa putkiston kautta. Tässä on muutama esimerkki.
Hanki luettelo kaikista käyttäjistä
getent passwd
-komennon tulos välitetään
cut
joka tulostaa ensimmäisen arkistoidun, käyttämällä
:
erottimena.
getent passwd | cut -d ':' -f1
Tarkastele 10 yleisimmin käytettyä komentoa
Seuraavassa esimerkissä leikkausta käytetään poistamaan 8 ensimmäistä tavua
history
ulostulon jokaiselta riviltä.
history | cut -c8- | sort | uniq -c | sort -rn | head
johtopäätös
Tähän mennessä sinulla pitäisi olla hyvä käsitys siitä, kuinka käyttää Linuxin leikkauskomentoa. Vaikka cut-komennolla on erittäin hyödyllistä, sillä on joitain rajoituksia. Se ei tue useamman kuin yhden merkin määrittämistä erottimeksi, eikä se tue useita desimetriä.
leikattu terminaaliDocker-ajokomento esimerkein
Telakointiajurin komento luo säilön annetusta kuvasta ja käynnistää säilön annetulla komennolla. Se on yksi ensimmäisistä komennoista, jotka sinun tulee perehtyä työskennellessäsi Dockerin kanssa.
Linux päiväyskomento esimerkein
Päivämääräkomento näyttää tai asettaa järjestelmän päivämäärän. Sitä käytetään yleisimmin päivämäärän ja ajan tulostamiseen eri muodoissa sekä tulevien ja viimeisten päivämäärien laskemiseen.
Linux tee-komento esimerkein
Tee-komento lukee vakiotulosta ja kirjoittaa sekä vakiolähtöön että yhdelle tai useammalle tiedostolle samanaikaisesti. Tee käytetään yleisimmin yhdessä muiden komentojen kanssa putkiston kautta.







