Linux-kehittäjät noudattavat filosofiaa luoda pieniä ohjelmia, jotka tekevät yhden tehtävän ja tekevät sen hyvin. Otetaan esimerkiksi Linuxin tekstinkäsittelytyökalut, ne ovat kevyitä ja niissä on modulaarinen toiminnallisuus. Vaikka nämä tekstinkäsittelytyökalut eroavat monimutkaisuudesta ja toiminnallisuudesta, ne ovat hyödyllisiä ympäristössä, jossa graafinen käyttöliittymä ei ole käytettävissä.

Artikkeli kattaa parhaat Linux-työkalut tiedostojen lukemiseen ja säännöllisten lausekkeiden käyttämiseen valitun tekstin suorittamiseen. Se kattaa myös niiden perustoiminnot ja esimerkkejä ymmärtämisen helpottamiseksi.

1. grep

grep on Linuxin tekstiä muokkaava apuohjelma, joka etsii tiedostosta tai tekstistä merkkijonoa tai kuviota, joka tunnetaan säännöllisinä lausekkeina. grep-työkalu kuuluu apuohjelmien perheeseen, johon kuuluvat egrep, fgrep ja grep, joista fgrep on nopein, kun taas grep on helpoin.

Yleinen grep-syntaksi on seuraava:

grep -optiot merkkijono tiedostonimi

Esimerkiksi etsiäksesi sanaa "juuri". /etc/passwd-tiedosto:

instagram viewer
grep-juuri /etc/passwd

Joitakin tavallisia komentoriviesimerkkejä aloittamiseen ovat:

Vaihtoehdot Esimerkki Kuvaus
-c grep -c ./bashrc Laske niiden rivien määrä, joissa merkkijono on
-i grep -i ./bashrc Suorita kirjainkoolla välitön haku määritetylle merkkijonolle
-o grep -o tiedosto Tulostaa vain vastaavan merkkijonon
-l grep -l "passwd" Tulostaa nykyisen hakemiston tiedostonimet, jotka vastaavat kuviota
-n grep -n tiedosto Tulostaa rivinumeron määritetyn merkkijonon sisältävälle riville
merkkijono1|merkkijono2 grep "merkkijono1|merkkijono2"-tiedosto Etsi ja tulostaa useita merkkijonoja tiedostosta

Vastaavasti voit käyttää ^ metacharacter grep-komennolla näyttääksesi kaikki vastaavat merkkijonot, jotka alkavat tietyillä merkeillä.

Esimerkiksi seuraava komento syöttää env-komennon ulostulon grep-syötteenä ja näyttää muuttujat, jotka alkavat "HO":

env | grep ^HO

Aiheeseen liittyvä: Käytännön esimerkkejä Linuxin Grep-komennoista

2. awk

awk on tehokas skriptikieli ja komentorivin tekstinkäsittelytyökalu, joka voi suorittaa rivi-riviltä skannauksia ja vertailla rivejä malleihin. Awk-komennon perussyntaksi on toiminto, joka määritellään yhden lainausmerkin ja kaarevien aaltosulkeiden väliin, joita seuraa tiedostonimi.

awk '{action}' tiedostonimi
awk '{kuvio; action}' tiedostonimi

Apuohjelma etsii tiedostoa säännöllisillä lausekkeilla ja suorittaa toimintoparametrissa määritellyn toiminnon. awk suorittaa komentosarjan jokaisella rivillä, jos et aseta mallia alla olevan kuvan mukaisesti:

awk '{print $1}' awk_examples.txt

...missä $1 näyttää ensimmäisen kentän awk_examples.txt tiedosto.

Seuraava komento suorittaa tulostustoiminnon annetulle kuviolle korvaamalla toisen kentän "Maailman" kanssa "Alice" ja näyttää koko rivin ($0):

echo "Hei maailma" | awk '{$2="Liisa"; tulosta $0}'

Lähtö:

Hei Alice

Vastaavasti voit käyttää toimintoa tulosta $0 yllä olevasta komennosta emuloidaksesi grep toiminnallisuus.

awk '/john/{print $0}' /etc/passwd
john: x: 1001:1001::/home/john:/bin/sh

3. järjestellä

sort on toinen Linuxin komentorivityökalu, jonka avulla voit näyttää määritetyn tekstitiedoston sisällön lajiteltuna. Voit esimerkiksi putsata awk-komennon tulosteen syötteeksi lajitteluapuohjelmaan seuraavasti:

awk '{print $1}' awk_examples.txt | lajittele > lajittele_teksti.txt
cat sort_text.txt

Lähtö:

Aiheeseen liittyvä: Tekstitiedostojen lajittelu Linuxissa lajittelun avulla

4. sed

sed- tai stream-editori ottaa syötteen merkkijonona ja suorittaa suodatuksen ja tekstimuunnoksia (poistaa, korvata ja korvata) määritetylle tekstille.

Voit käyttää sitä skriptissä ja muokata tiedostoja ei-interaktiivisesti. Tästä syystä apuohjelman perustarkoitus on merkkijonojen/merkkien korvaaminen. Yleinen syntaksi on:

sed 's/string/substitution/option'-tiedosto

Luo tiedosto satunnaisten lauseiden avulla harjoitellaksesi ja ymmärtääksesi tämän apuohjelman toimintaa.

Korvataan sana "kaksi" jokaisella tiedoston rivillä "2" käyttämällä -g lippu maailmanlaajuista korvaamista varten seuraavasti:

sed 's/two/2/g' sed_examples.txt > sed_examples2.txt

Käytä vastaavasti -d lippu poistaaksesi tietyn rivin tiedostosta:

sed '2d' sed_examples.txt

Voit myös korvata merkkijonon määrittämällä rivinumeron (4 s/kaksi/2/p) ja tulostaa vain korvattu rivi seuraavasti:

sed -n '4 s/two/2/p' sed_examples2.txt

The -n lippu yllä olevassa komennossa poistaa syöttövirran automaattisen tulostuksen lähtöön. Voit käyttää tätä vaihtoehtoa korvataksesi grep-apuohjelman toiminnon sedillä.

Voit esimerkiksi muokata yllä olevaa komentoa sisällyttämällä vain regex-mallin /two/p sellainen, että -s lippu tulostaa rivit vain vakiotulostevirtaan.

sed -n '/kaksi/p' sed_examples2.txt

Aiheeseen liittyvä: Nämä 10 esimerkkiä tekevät sinusta Linuxin tehokäyttäjän

5. leikata

Leikkaus on toinen komentorivin apuohjelma, joka leikkaa/purkaa tekstin osia riviltä tai tiedostosta. Se leikkaa tekstin tietyn kentän, merkin tai tavun sijainnin perusteella ja ohjaa tuloksen vakiotulosteeseen.

Apuohjelma käyttää seuraavan syntaksin:

leikata  tiedosto

Käytä -b mahdollisuus leikata osio tai sisältö käyttämällä määritettyä tavua tai tavualuetta:

cut -b 1 cut_examples.txt

Käytä -c lippu poimimaan tekstiä määrittämällä merkkien sijainnit:

cut -c 1,3,5 cut_examples.txt

Lopuksi voit myös poimia tekstiä määrittämällä kentät -f vaihtoehto ja -d välilyönti tai kentän erotin:

cut -d " " -f 1 cut_examples.txt

Tässä on luettelo alueista, joissa on esimerkkejä ja kuvauksia, joita voit käyttää merkin kanssa -c ja tavu -b vaihtoehdot:

Alue Esimerkki Kuvaus
n- leikkaa -c 7- tiedostonimi Poimi merkki n: nnestä kokonaisluvusta rivin loppuun
n-m cut -b 7-15 tiedostonimi Poimii syöttötiedoston jokaisen rivin kokonaisluvuista n-m
-m leikkaa -c -7 tiedostonimi Poimii rivit alkaen m: stä rivin loppuun

Huomaa, että et voi määrittää tekstin poiminnan alueita kentän avulla -f vaihtoehto.

Tekstin käsittely Linux-komennoilla

Linux tarjoaa monia ohjelmia ja työkaluja tiedostojen tai tekstin käsittelyyn ja kiertämiseen. Niiden kaikkien oppiminen ei välttämättä ole välttämätöntä, koska voit helposti täyttää aukon toisella, kun sinulla on hyvä ote jostain, kuten käyttämällä sediä grep- tai awk-funktiona grep, mutta tämä ei voi olla totta kaikille työkaluille.

Lisäksi Linux-komennoilla on jyrkkä oppimiskäyrä, mutta kun osaat kehittää taitoja, ne voivat osoittautua erittäin hyödyllisiksi ja tehokkaiksi jokaisen Linux-käyttäjän, erityisesti järjestelmänvalvojan, elämässä.

8 parasta päätesovellusta Linuxin tuottavuuden parantamiseen

Oletko kyllästynyt vanhaan ja tylsään päätesovellukseen, joka on esiasennettu Linuxiin? Tutustu näihin kahdeksaan päätesovellukseen, jotka parantavat työnkulkuasi.

Lue Seuraava

JaaTweetSähköposti
Liittyvät aiheet
  • Linux
  • Linuxin komennot
Kirjailijasta
Rumaisa Niazi (7 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