Juhtimiskäsk, Grep ja sortimine Linuxis/Unixis koos näidetega
⚡ Nutikas kokkuvõte
Linuxis ja Unixis käsud „toru“ ja „grep“ ning „sort“ aheldavad ja filtreerivad teksti: toru edastab ühe käsu väljundi järgmisse, grep otsib mustreid ja sort järjestab ridu, samal ajal kui filtrid teisendavad andmeid nende vahel.

Pipes, grep ja sort on ühed enimkasutatud tööriistad. Linux käsureal, sest need võimaldavad teil ühendada väikesed käsud üheks võimsaks töövooguks. See leht selgitab igaüht neist toimivate näidetega ja seejärel näitab, kuidas filtrid need omavahel seovad.
Mis on toru Linuxis?
Toru on Linuxi käsk, mis võimaldab kasutada kahte või enamat käsku nii, et ühe käsu väljund toimib sisendina järgmisele. Lühidalt öeldes suunatakse iga protsessi väljund otse sisendina järgmisele, nagu torujuhtme puhul. Sümbol '|' tähistab toru.
Torud aitavad teil korraga kahte või enamat käsku ühendada ja neid järjestikku käivitada. Saate kasutada võimsaid käske, mis täidavad keerulisi ülesandeid hetkega.
Mõistame seda ühe näitega.
Kui kasutate käsku 'cat' mitmeleheküljelise faili vaatamiseks, hüppab viip kiiresti faili viimasele lehele ja te ei näe keskel olevat sisu.
Selle vältimiseks saate käsu 'cat' väljundi suunata väärtusele 'less', mis kuvab korraga ainult ühe kerimispikkuse sisu.
cat filename | less
Illustratsioon teeks selle selgemaks. Allolev diagramm näitab, kuidas toru edastab ühe käsu väljundi järgmisse.
'pg' ja 'more' käsud
'Less' asemel võite kasutada ka käsku pg või more:
cat Filename | pg
or
cat Filename | more
Seejärel saate faili vaadata seeditavate osade kaupa ja kerida allapoole, vajutades lihtsalt sisestusklahvi. Allolev ekraanipilt näitab faili, mis on leheküljetud käsuga more.
Käsk 'grep'
Oletame, et soovite tekstifailist otsida konkreetset teavet, näiteks postiindeksit.
Saate sisu käsitsi üle vaadata, et tracteavet. Parem variant on kasutada grep käsk. See skannib dokumendist soovitud teabe ja esitab tulemuse teie soovitud vormingus.
süntaksit:
grep search_string
Vaatame seda tegevuses. Allolev ekraanipilt näitab otsingu tulemust.
Siin otsis grep-käsk failist 'sample' stringe 'Apple' ja 'Eat'. Selle käsuga saab kasutada järgmisi valikuid.
| valik | funktsioon |
|---|---|
| -v | Näitab kõiki ridu, mis ei vasta otsitud stringile |
| -c | Kuvab ainult sobivate ridade arvu |
| -n | Näitab sobivat rida ja selle numbrit |
| -i | Sobib nii suur- kui ka väiketähtedega |
| -l | Näitab ainult faili nime koos stringiga |
Proovime sama faili puhul, mida eespool kasutasime, valikut '-i'. Allolev ekraanipilt näitab suur- ja väiketähti mittetundeva tulemust.
Kasutades valikut '-i', on grep filtreerinud stringi 'a' (suur- ja väiketähti mittetundev) kõigilt ridadelt.
"Sorteeri" käsk
See käsk aitab faili sisu tähestikulises järjekorras sortida.
Selle käsu süntaks on:
sort Filename
Vaatleme faili sisu, mida näitab allpool olev kood „cat”.
Sorteerimiskäsu käivitamine järjestab need read tähestikulises järjekorras, nagu allpool näidatud.
Sellel käsul on ka laiendusi ja need on loetletud allpool.
| valik | funktsioon |
|---|---|
| -r | Reversesorteerimine |
| -n | Sorteerib numbriliselt |
| -f | Suur- ja väiketähtedeta sortimine |
Allolev näide näitab faili "abc" sisu pöördsortimist.
Mis on filter?
Linuxil on palju filtreerimiskäske, näiteks awk, grep, sed, spell ja wc. Filter võtab sisendi ühelt käsult, teeb teatud töötlemise ja annab väljundi.
Kui edastate kaks käsku, antakse esimese käsu "filtreeritud" väljund järgmisele käsule. Allolev diagramm illustreerib, kuidas filter torujuhtmesse sobitub.
Mõistagem seda näite abil. Meil on järgmine fail 'sample', mis on näidatud allpool koos käsuga cat.
Me tahame esile tõsta ainult read, mis ei sisalda märki 'a', aga tulemus peaks olema vastupidises järjekorras. Selleks saab kasutada järgmist süntaksit:
cat sample | grep -v a | sort -r
Vaatame tulemust, mis on näidatud alloleval ekraanipildil.







.png)
.png)

