Razvijalci Linuxa sledijo filozofiji ustvarjanja majhnih programov, ki opravijo eno nalogo in jo dobro opravijo. Vzemite za primer orodja za obdelavo besedil Linux, ki so lahka in imajo modularno funkcionalnost. Čeprav se ta orodja za obdelavo besedila razlikujejo po kompleksnosti in funkcionalnosti, so priročna v okolju, kjer grafični uporabniški vmesnik ni na voljo.

Članek pokriva najboljša orodja Linuxa za branje datotek in uporabo regularnih izrazov za izvajanje operacij na izbranem besedilu. Zajema tudi njihovo najosnovnejšo funkcionalnost in primere za boljše razumevanje.

1. grep

grep je Linux pripomoček za manipulacijo besedila, ki v datoteki ali besedilu išče niz znakov ali vzorcev, znanih kot regularni izrazi. Orodje grep spada v družino pripomočkov, ki vključujejo egrep, fgrep in grep, med katerimi je fgrep najhitrejši, medtem ko je grep najlažji.

Splošna sintaksa za uporabo grep je naslednja:

grep -options niz ime datoteke

Na primer, če želite poiskati besedo "root" v datoteko /etc/passwd:

instagram viewer
grep root /etc/passwd

Nekateri standardni primeri ukazne vrstice za začetek so:

Opcije Primer Opis
-c grep -c ./bashrc Preštejte število vrstic, v katerih obstaja niz
-jaz grep -i ./bashrc Izvedite iskanje za navedeni niz brez upoštevanja velikih in malih črk
-o grep -o mapa Natisne samo ustrezen niz
-l grep -l "passwd" Natisne imena datotek v trenutnem imeniku, ki se ujemajo z vzorcem
-n grep -n mapa Natisne številko vrstice vzdolž vrstice, ki vsebuje podani niz
niz1|niz2 grep datoteko "string1|string2". Poiščite in natisnite več nizov iz datoteke

Podobno lahko uporabite ^ metaznak z ukazom grep za prikaz vseh ujemajočih se nizov, ki se začnejo z določenimi znaki.

Naslednji ukaz na primer pošlje izhod ukaza env kot vhod v grep in prikaže spremenljivke, ki se začnejo z "HO":

env | grep ^HO

Povezano: Praktični primeri ukazov Grep za Linux

2. awk

awk je zmogljiv skriptni jezik in orodje za manipulacijo besedila v ukazni vrstici, ki lahko izvaja pregledovanje vrstic za vrstico in primerja vrstice z vzorci. Osnovna sintaksa ukaza awk je dejanje, definirano med enojnim narekovajem in zavitimi oklepaji, ki jim sledi ime datoteke.

awk '{action}' ime datoteke
awk '{vzorec; action}' ime datoteke

Pripomoček išče datoteko z uporabo regularnih izrazov in izvede funkcijo, definirano v parametru dejanja. awk izvede skript v vsaki vrstici, če ne nastavite vzorca, kot je prikazano spodaj:

awk '{print $1}' awk_examples.txt

...kje $1 prikaže prvo polje awk_examples.txt mapa.

Naslednji ukaz izvede funkcijo tiskanja na danem vzorcu z zamenjavo drugega polja "Svet"z"Alice," in prikaže celotno vrstico ($0):

odmev "Hello World" | awk '{$2="Alice"; natisniti $0}'

Izhod:

Pozdravljena Alice

Podobno lahko uporabite funkcijo natisnite $0 iz zgornjega ukaza za posnemanje grep funkcionalnost.

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

3. razvrsti

sort je še en pripomoček ukazne vrstice Linux, ki vam pomaga prikazati vsebino določene besedilne datoteke v razvrščeni obliki. Izhod ukaza awk lahko na primer navedete kot vhod v pripomoček za razvrščanje, kot sledi:

awk '{print $1}' awk_examples.txt | razvrsti > razvrsti_besedilo.txt
mačka sort_text.txt

Izhod:

Povezano: Kako razvrstiti besedilne datoteke v Linuxu z uporabo razvrščanja

4. sed

sed ali urejevalnik toka vzame vnos kot tok znakov in izvede filtriranje in preoblikovanje besedila (izbriši, nadomesti in zamenja) za podano besedilo.

Lahko ga uporabite v skriptu in urejate datoteke neinteraktivno. Zato je najosnovnejši namen pripomočka zamenjava niza/znakov. Splošna sintaksa je:

sed 's/string/substitution/option' datoteka

Ustvarite datoteko z naključnimi stavki za vadbo in razumevanje delovanja tega pripomočka.

Zamenjajmo pojav besede "dve" v vsaki vrstici datoteke z "2" uporabljati -g zastavico za globalno zamenjavo, kot sledi:

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

Podobno uporabite -d zastavico za brisanje določene vrstice iz datoteke:

sed '2d' sed_examples.txt

Niz lahko zamenjate tudi tako, da podate številko vrstice (4 s/dve/2/str) in samo natisne zamenjano vrstico na naslednji način:

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

The -n zastavica v zgornjem ukazu onemogoči samodejno tiskanje vhodnega toka na izhod. To možnost lahko uporabite v svojo korist za zamenjavo funkcionalnosti pripomočka grep s sed.

Zgornji ukaz lahko na primer spremenite tako, da vključite samo vzorec regularnega izraza /two/p tako da je -str flag bo natisnil samo vrstice v standardni izhodni tok.

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

Povezano: S temi 10 primeri sed boste postali močni uporabnik Linuxa

5. rezati

Cut je še en pripomoček ukazne vrstice, ki izreže/izvleče dele besedila iz vrstice ali datoteke. Besedilo razreže na podlagi določenega polja, znaka ali položaja bajtov in pošlje rezultat v standardni izhod.

Pripomoček ima naslednjo sintakso:

rezati  mapa

Uporabi -b možnost rezanja odseka ali vsebine z uporabo določenega bajta ali obsega bajtov:

cut -b 1 cut_examples.txt

Uporabi -c zastavico za ekstrakcijo besedila z določitvijo položajev znakov:

cut -c 1,3,5 cut_examples.txt

Nazadnje lahko tudi izvlečete besedilo tako, da določite polja z -f možnost in -d za ločilo presledka ali polja:

cut -d " " -f 1 cut_examples.txt

Tukaj je seznam obsegov s primeri in opisi, ki jih lahko uporabite z znakom -c in bajt -b opcije:

Razpon Primer Opis
n- cut -c 7- ime datoteke Ekstrahirajte znak iz n-ega celega števila do konca vrstice
n-m cut -b 7-15 ime datoteke Izvlečki iz celega števila n-m vsake vrstice iz vhodne datoteke
-m cut -c -7 ime datoteke Izvleče vrstice, ki se začnejo od m do konca vrstice

Upoštevajte, da s poljem ne morete definirati obsegov za ekstrakcijo besedila -f možnost.

Manipuliranje z besedilom z ukazi Linuxa

Linux ponuja veliko programov in orodij za ravnanje z datotekami ali besedilom in delo okoli njih. Učenje vseh jih morda ne bo potrebno, saj lahko vrzel zlahka zapolnite z drugim, ko se dobro oprimete, na primer z uporabo sed kot grep ali awk kot grep, vendar to ne more veljati za vsako orodje.

Poleg tega imajo ukazi Linux strmo krivuljo učenja, a ko enkrat razvijete veščino, se lahko izkažejo za zelo uporabne in učinkovite v življenju vsakega uporabnika Linuxa, zlasti sistemskega skrbnika.

8 najboljših terminalskih aplikacij za izboljšano produktivnost Linuxa

Ste utrujeni od stare in dolgočasne terminalske aplikacije, ki je vnaprej nameščena v Linuxu? Oglejte si teh osem terminalskih aplikacij, ki bodo izboljšale vaš potek dela.

Preberite Naprej

DelitiTweetE-naslov
Povezane teme
  • Linux
  • Ukazi za Linux
O avtorju
Rumaisa Niazi (7 objavljenih člankov)

Rumaisa je svobodna pisateljica pri MUO. Nosila je veliko klobukov, od matematike do navdušenca za informacijsko varnost, zdaj pa dela kot analitik SOC. Njena zanimanja vključujejo branje in pisanje o novih tehnologijah, distribucijah Linuxa in karkoli v zvezi z informacijsko varnostjo.

Več od Rumaisa Niazi

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e-knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite