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.

5 hyödyllisintä Linuxin tekstinkäsittelykomentoa

Haluatko parantaa Linux-peliäsi ja oppia lisää tekstinkäsittelystä? Tässä on viisi parasta Linuxin komentorivityökalua matkasi aloittamiseen.

Lue Seuraava

JaaTweetSähköposti
Liittyvät aiheet
  • Linux
  • Linuxin komennot
  • Linux Elementary
  • Linux Bash Shell
Kirjailijasta
Rumaisa Niazi (10 artikkelia julkaistu)

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ä.

Lisää Rumaisa Niazilta

tilaa uutiskirjeemme

Liity uutiskirjeemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e-kirjoja ja eksklusiivisia tarjouksia!

Klikkaa tästä tilataksesi