Linux-pohjaiset käyttöjärjestelmät tarjoavat monia komentorivin tekstinkäsittelyohjelmia, joita voit käyttää päivittäisessä rutiinissasi. Leikkaa-komento on yksi tällainen tekstinkäsittelyapuohjelma, joka käyttää erottimia, tavuja, kenttiä ja sarakkeita noutaakseen vaaditun merkkijonon litteästä tiedostosta tai rivistä.
Koska litteällä tietokannalla ei ole rakenteellista suhdetta ja tietueet erotetaan erottimien avulla, leikkaus on ihanteellinen työkalu merkkien tai tavujen poimimiseen. Tässä artikkelissa käsitellään leikkauskomentoa yksityiskohtaisesti ja esitetään käytännön esimerkkejä erilaisista suodatinvaihtoehdoista, joiden avulla pääset alkuun työkalun käytön.
Katsaus leikkauskomennosta
cut käyttää seuraavaa perussyntaksia:
leikata
Voit myös putsata sen muilla komennoilla seuraavasti:
echo "merkkijono" | leikata
Huomaa, että vaihtoehdon puuttuminen aiheuttaa virheen. Tässä on joitain lippuja, joita voit käyttää cut-sovelluksen kanssa sen eri toimintojen käynnistämiseen:
Vaihtoehto | Kuvaus |
---|---|
-b | Leikkaa tavun sijainnin mukaan |
-c | Leikkaukset hahmon sijainnin mukaan |
-d | Poimii merkkijonon käyttämällä erotinta, joka on määritetty kenttävaihtoehdolla (-f). |
-f | Poimii tietyn kentän mukaan |
-s | Otteita vain erottimille |
--täydentää | Tulosta tulos paitsi määrittämäsi kenttä |
--lähtö-erotin | Korvaa olemassa oleva erotin määrittämälläsi erottimella |
Tässä on joitain esimerkkejä leikkauskomennosta, jotka auttavat sinua ymmärtämään työkalua ja sen toimintoja paremmin.
1. Poimi tietyt merkit merkkijonosta
Käytä -b vaihtoehto hakea merkkijonoja niiden tavumäärän mukaan seuraavasti:
echo "Hei maailma" | leikkaus -b 1,2,3,5,8,9
Lähtö:
Heloor
Voit myös määrittää tiedostopolun merkkijonon sijaan:
leikkaa -b 1,2,3,4,5 tiedostonimi.txt
Tai voit poimia merkkejä niiden sijainnin mukaan tekstissä. Käytä -c vaihtoehto, jota seuraa haettavien merkkien sarja/järjestys seuraavasti:
echo "Hei maailma" | leikkaa -c 1,2,3,5,6,8,10,11
Lähtö:
Hei vanha
Vastaavasti voit hakea kenttiä tai sarakkeita kiinteätiedostoisesta tietokannasta käyttämällä cut-komentoa -f lippuvaihtoehto:
cut -f 3 tietokanta.txt
2. Leikkaa tavujen tai merkkien alue
Voit myös käyttää -b merkitse cut-komennolla purkaa ja tulostaa useita tavualueita seuraavasti:
leikkaa -b 1-7,16-23 tietokanta.txt
Voit määrittää merkkien hakualueen käyttämällä -c lippu seuraavasti:
leikkaa -c 1-7,16-23 tietokanta.txt
3. Pura tekstiä aloitus- tai lopetusasennoista
Käytä -cn- mahdollisuus poimia tekstiä n: nnestä merkistä rivin loppuun, missä n on merkkijonon merkin indeksi.
Esimerkiksi, jos haluat poimia merkkijonon kuudennesta merkistä rivin loppuun:
leikkaa -c6- tietokanta.txt
Tai käytä seuraavaa komentoa hakeaksesi alusta viimeiseen m merkit tiedostosta:
leikkaa -c-8-tietokanta.txt
4. Leikkaa tiedostosta useita kenttiä
Voit myös tulostaa useita kenttiä tiedostosta käyttämällä -f lippu.
cut -f 1,2 tietokanta.txt
Lähtö:
NIMI IKÄ
John 20
Lisa 24
Jack 18
Bruce 23
Nancy 19
5. Pura teksti erottimilla
Voit käyttää -d lippu määrittääksesi erottimen -f vaihtoehto. Erotin määrittää merkin, jota käytetään tekstitiedoston kenttien erottamiseen.
Esimerkiksi, jos haluat purkaa ensimmäisen sarakkeen /etc/passwd tiedosto, käytä kaksoispistettä (:) erottimena:
cut -d ‘:’ -f 1 /etc/passwd
Vastaavasti erottimen arvo tietyssä tekstivirrassa on yksi välilyönti:
echo "1 % 1 %:sta" | leikkaus -d ' ' -f 2,3
Lähtö:
1 %
6. Muuta näytön lähtöerotin
The --lähtö-erotin lippu lisää joustavuutta leikkauskomennon ulostuloon. Voit esimerkiksi käyttää lippua näyttämään tulosteen erillisellä rivillä käyttämällä $'\n' (uusi rivi) arvo seuraavasti:
grep alice /etc/passwd | cut -d ':' -f 1,5,7 --output-delimiter=$'\n'
Lähtö:
alice
Alice
/bin/sh
Lisäksi voit myös korvata syöttötiedoston erottimen valitsemallasi erottimella tulosteessa käyttämällä --lähtö-erotin lippu:
grep-juuri /etc/passwd | cut -d ':' -f 1,6,7 --output-delimiter=@
Lähtö:
root@/root@/bin/bash
nm-openvpn@/var/lib/openvpn/chroot@/usr/sbin/nologin
7. Leikkaa kenttiä vain, kun rivi sisältää erottimen
Käytä -s lippu poimimaan kentät vain, kun rivit sisältävät erottimen. Esimerkiksi seuraava komento ei nouta kenttää -f 1 ellei siinä ole välilyöntiä:
echo "HelloWorld" | leikkaa -d " " -f 1 -s
Päinvastoin, alla mainittu komento luo tulosteen, koska merkkijono sisältää määritetyn erottimen:
echo "Hei maailma" | leikkaa -d " " -f 1 -s
Lähtö:
Hei
Vastaavasti voit käyttää myös mitä tahansa muuta merkkiä erottimena:
echo "Hei: Maailma" | cut -d ":" -f 2 -s
Lähtö:
Maailman
8. Täydennä komentolähtöä
Leikkausapuohjelman avulla voit myös tulostaa kaikki kentät paitsi määritettyä kenttää. Käytä --täydentää seuraava vaihtoehto hakeaksesi kaikki pääkäyttäjätilin tiedot paitsi viides sarake:
grep "root" /etc/passwd | cut -d ':' --complement -s -f 5
Lähtö:
root: x: 0:0:/root:/bin/bash
Vastaavasti alla olevassa esimerkissä -f 1 parametrin tulee näkyä Hei tekstiä kuitenkin johtuen --täydentää vaihtoehto, se tulostaa vain loput.
echo "Hei koko maailmalle" | leikkaa -d " " -f 1 --täydennys
Lähtö:
koko Maailmalle
Parasta on, että voit yhdistää cut-komennon muiden Linux/Unix-komentojen vakiotulostukseen.
sed on yksi sellaisista tekstinmuokkaustyökaluista, joita voit käyttää tekstin poistamiseen, lisäämiseen ja korvaamiseen. Voit helposti liittää sen tulosteen leikkauskomentoon.
Alla olevassa esimerkissä grep-komento tuloste johdetaan sed-apuohjelmaan, joka korvaa kaksoispisteen (:) yhdysviivalla (-) ja leikkaus näyttää kentät 1, 6 ja 7 seuraavasti:
grep alice /etc/passwd | sed 's/:/-/g' | leikattu -d ' ' -f 1,5,7
Lähtö:
alice-x-1005-1008-Liisa-/koti/uusi/liisa-/bin/sh
Tekstin käsittely Linuxissa Leikkaamisen avulla
Leikkaa-komento on joustava ja tehokas komentorivin apuohjelma, jota voit käyttää erilaisissa tekstinkäsittelyn käyttötapauksissa. Se käyttää toimintoja tekstin suodattamiseen tiedostoista tai vakiosyöttötiedoista. Apuohjelmassa on myös etu, jonka avulla käyttäjät voivat rajoittaa näytettävää tekstiä ja lisätä omia erottimia.
Tällä komennolla on kuitenkin myös joitain rajoituksia. Et voi käyttää säännöllisiä lausekkeita erottimen määrittämiseen tai käyttää samanaikaisesti useita leikkauskomentoasetuksia. Tässä artikkelissa on käsitelty tämän apuohjelman perus- ja edistysasteen käytännön esimerkkejä, jotka auttavat aloittelijoita ymmärtämään selkeästi tekstinkäsittelykomennot Linuxissa.
Haluatko parantaa Linux-peliäsi ja oppia lisää tekstinkäsittelystä? Tässä on viisi parasta Linuxin komentorivityökalua matkasi aloittamiseen.
Lue Seuraava
- Linux
- Linuxin komennot
- Linux Elementary
- Linux Bash Shell

Rumaisa on freelance-kirjoittaja MUO: ssa. Hän on käyttänyt monia hattuja matemaatikosta tietoturvaharrastajaan, ja hän työskentelee nyt SOC-analyytikkona. Hänen kiinnostuksensa kuuluu lukeminen ja kirjoittaminen uusista teknologioista, Linux-jakeluista ja kaikesta tietoturvaan liittyvästä.
tilaa uutiskirjeemme
Liity uutiskirjeemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia e-kirjoja ja eksklusiivisia tarjouksia!
Klikkaa tästä tilataksesi