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:
grep juur /etc/passwd
Mõned standardsed käsurea näited alustamiseks on järgmised:
Valikud | Näide | Kirjeldus |
---|---|---|
-c | grep -c |
Loendage ridade arv, milles string eksisteerib |
-i | grep -i |
Tehke määratud stringi jaoks tõstutundlik otsing |
-o | grep -o |
Prindib ainult sobitatud stringi |
-l | grep -l "passwd" | Prindib praeguses kataloogis failinimed, mis vastavad mustrile |
-n | grep -n |
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.
Kas olete tüdinud vanast ja igavast terminalirakendusest, mis on Linuxi eelinstallitud? Vaadake neid kaheksat terminalirakendust, mis täiustavad teie töövoogu.
Loe edasi
- Linux
- Linuxi käsud
![](/f/55dc15ba6b6efd1dbbf43d3dd736990c.jpeg)
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.
Liituge meie uudiskirjaga
Liituge meie uudiskirjaga tehniliste näpunäidete, arvustuste, tasuta e-raamatute ja eksklusiivsete pakkumiste saamiseks!
Tellimiseks klõpsake siin