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:
grep-juuri /etc/passwd
Joitakin tavallisia komentoriviesimerkkejä aloittamiseen ovat:
Vaihtoehdot | Esimerkki | Kuvaus |
---|---|---|
-c | grep -c |
Laske niiden rivien määrä, joissa merkkijono on |
-i | grep -i |
Suorita kirjainkoolla välitön haku määritetylle merkkijonolle |
-o | grep -o |
Tulostaa vain vastaavan merkkijonon |
-l | grep -l "passwd" | Tulostaa nykyisen hakemiston tiedostonimet, jotka vastaavat kuviota |
-n | grep -n |
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ä.
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
- Linux
- Linuxin komennot

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