Linuxi arendajad järgivad väikeste programmide loomise filosoofiat, mis teevad ühe ülesande ja teevad seda hästi. Võtke näiteks Linuxi tekstitöötlustööriistad, need on kerged ja neil on modulaarne funktsionaalsus. Kuigi need tekstitöötlustööriistad erinevad keerukuse ja funktsionaalsuse poolest, on need kasulikud keskkonnas, kus graafiline kasutajaliides pole saadaval.

Artikkel hõlmab parimaid Linuxi tööriistu failide lugemiseks ja regulaaravaldiste kasutamiseks valitud tekstiga toimingute tegemiseks. See hõlmab ka nende kõige põhilisemaid funktsioone ja näiteid paremaks mõistmiseks.

1. grep

grep on Linuxi tekstiga manipuleerimise utiliit, mis otsib failis või tekstis märkide või mustrite jada, mida nimetatakse regulaaravaldisteks. Tööriist grep kuulub utiliitide perekonda, kuhu kuuluvad egrep, fgrep ja grep, mille hulgas on fgrep kõigist kiireim, samas kui grep on kõige lihtsam.

Grepi kasutamise üldine süntaks on järgmine:

grep -suvandid stringi failinimi

Näiteks sõna "juur" otsimiseks /etc/passwd faili:

instagram viewer
grep juur /etc/passwd

Mõned standardsed käsurea näited alustamiseks on järgmised:

Valikud Näide Kirjeldus
-c grep -c ./bashrc Loendage ridade arv, milles string eksisteerib
-i grep -i ./bashrc Tehke määratud stringi jaoks tõstutundlik otsing
-o grep -o faili Prindib ainult sobitatud stringi
-l grep -l "passwd" Prindib praeguses kataloogis failinimed, mis vastavad mustrile
-n grep -n faili Prindib rea numbri mööda rida, mis sisaldab määratud stringi
string1|string2 grep faili "string1|string2". Leidke ja prindib failist mitu stringi

Samamoodi saate kasutada ^ metamärk koos käsuga grep, et kuvada kõik vastavad stringid, mis algavad teatud tähemärkidega.

Näiteks järgmine käsk suunab käsu env väljundi grepi sisendiks ja kuvab muutujad, mis algavad tähega "HO":

env | grep ^HO

Seotud: Praktilised näited Linuxi Grepi käskudest

2. awk

awk on võimas skriptikeel ja käsurea tekstiga manipuleerimise tööriist, mis suudab ridade kaupa skaneerida ja ridu mustritega võrrelda. Käsu awk põhisüntaks on toiming, mis on määratletud ühe jutumärgi ja lokkis sulgude vahel, millele järgneb failinimi.

awk '{action}' failinimi
awk '{muster; action}' failinimi

Utiliit otsib failist regulaaravaldiste abil ja täidab toiminguparameetris määratletud funktsiooni. awk käivitab skripti igal real, kui te ei määra mustrit, nagu allpool näidatud:

awk '{print $1}' awk_examples.txt

...kus $1 kuvab esimese välja awk_examples.txt faili.

Järgmine käsk täidab antud mustrile printimisfunktsiooni, asendades teise välja "Maailm"koos"Aliceja kuvab terve rea ($0):

kaja "Tere maailm" | awk '{$2="Alice"; print $0}"

Väljund:

Tere Alice

Samamoodi saate funktsiooni kasutada print $0 ülaltoodud käsust, et jäljendada grep funktsionaalsust.

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

3. sorteerida

sort on teine ​​Linuxi käsurea utiliit, mis aitab kuvada määratud tekstifaili sisu sorteeritud vormingus. Näiteks saate käsu awk väljundi sortimisutiliidi sisendiks suunata järgmiselt:

awk '{print $1}' awk_examples.txt | sortida > sortida_tekst.txt
cat sort_text.txt

Väljund:

Seotud: Tekstifailide sortimine Linuxis sortimise abil

4. sed

sed või vooredaktor võtab sisendi märgivoona ning teostab määratud teksti filtreerimist ja tekstiteisendusi (kustutab, asendab ja asendab).

Saate seda kasutada skriptis ja faile mitteinteraktiivselt redigeerida. Seega on utiliidi kõige põhilisem eesmärk stringi/märkide asendamine. Üldine süntaks on:

sed 's/string/substitution/option' fail

Looge fail, kasutades juhuslikke lauseid, et harjutada ja mõista selle utiliidi toimimist.

Asendame esinemiskoha sõna "kaks" igal real failis "2" kasutades -g globaalse asendamise lipp järgmiselt:

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

Samamoodi kasutage -d lipp failist konkreetse rea kustutamiseks:

sed '2d' sed_examples.txt

Samuti saate stringi asendada, määrates reanumbri (4 s/kaks/2/p) ja ainult asendatud rea printimine järgmiselt:

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

The -n lipp ülaltoodud käsus keelab sisendvoo automaatse printimise väljundisse. Seda valikut saate kasutada enda kasuks grep utiliidi funktsiooni asendamiseks sed-iga.

Näiteks saate ülaltoodud käsku muuta, lisades ainult regex-mustri /two/p selline, et -lk lipp prindib read ainult standardsesse väljundvoogu.

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

Seotud: Need 10 näidet teevad sinust Linuxi võimsa kasutaja

5. lõigatud

Lõikamine on veel üks käsurea utiliit, mis lõikab/ekstrakteerib reast või failist teksti osi. See lõikab teksti määratud välja, märgi või baidi asukoha alusel ja suunab tulemuse standardväljundisse.

Utiliit kasutab järgmise süntaksi:

lõigatud  faili

Kasuta -b võimalus lõigata jaotist või sisu, kasutades määratud baiti või baitide vahemikku:

cut -b 1 cut_examples.txt

Kasuta -c liputage teksti eraldamiseks, määrates märkide asukohad:

cut -c 1,3,5 cut_examples.txt

Lõpuks saate teksti ekstraheerida, määrates väljad nupuga -f variant ja -d tühiku või väljade eraldaja jaoks:

cut -d " " -f 1 cut_examples.txt

Siin on vahemike loend koos näidete ja kirjeldustega, mida saate tähemärgiga kasutada -c ja bait -b valikud:

Vahemik Näide Kirjeldus
n- lõika -c 7- failinimi Ekstraheerige märk n-ndast täisarvust kuni rea lõpuni
n-m lõika -b 7-15 failinimi Väljavõtted sisendfailist iga rea ​​täisarvudest n-m
-m lõika -c -7 failinimi Eraldab read alates m-st kuni rea lõpuni

Pange tähele, et välja kasutades ei saa teksti ekstraheerimiseks vahemikke määrata -f valik.

Tekstiga manipuleerimine Linuxi käskudega

Linux pakub palju programme ja tööriistu failide või tekstiga töötlemiseks ja nendega töötamiseks. Nende kõigi õppimine ei pruugi olla vajalik, sest kui teil on hea haardumine ühest, saate tühimiku hõlpsalt mõne teisega täita, näiteks kasutades sed kui grep või awk kui grep, kuid see ei saa kehtida kõigi tööriistade puhul.

Pealegi on Linuxi käskudel järsk õppimiskõver, kuid kui olete oskuse arendanud, võivad need osutuda iga Linuxi kasutaja, eriti süsteemiadministraatori, elus väga kasulikuks ja tõhusaks.

8 parimat terminalirakendust Linuxi täiustatud tootlikkuse suurendamiseks

Kas olete tüdinud vanast ja igavast terminalirakendusest, mis on Linuxi eelinstallitud? Vaadake neid kaheksat terminalirakendust, mis täiustavad teie töövoogu.

Loe edasi

JagaSäutsMeil
Seotud teemad
  • Linux
  • Linuxi käsud
Autori kohta
Rumaisa Niazi (7 artiklit avaldatud)

Rumaisa on MUO vabakutseline kirjanik. Ta on kandnud palju mütse, alates matemaatikust kuni infoturbe entusiastini, ja töötab nüüd SOC analüütikuna. Tema huvide hulka kuulub uute tehnoloogiate, Linuxi distributsioonide ja kõige muu infoturbega seotud lugemine ja kirjutamine.

Veel Rumaisa Niazist

Liituge meie uudiskirjaga

Liituge meie uudiskirjaga tehniliste näpunäidete, arvustuste, tasuta e-raamatute ja eksklusiivsete pakkumiste saamiseks!

Tellimiseks klõpsake siin