Linux programeri slijede filozofiju stvaranja malih programa koji rade jedan zadatak i to dobro. Uzmimo Linux alate za obradu teksta kao primjer, oni su lagani i imaju modularnu funkcionalnost. Iako se ovi alati za manipulaciju tekstom razlikuju po složenosti i funkcionalnosti, oni su korisni u okruženju u kojem grafičko korisničko sučelje nije dostupno.

Članak pokriva najbolje Linux alate za čitanje datoteka i korištenje regularnih izraza za izvođenje operacija na odabranom tekstu. Također pokriva njihovu najosnovniju funkcionalnost i primjere za bolje razumijevanje.

1. grep

grep je Linux uslužni program za manipulaciju tekstom koji traži niz znakova ili uzoraka poznatih kao regularni izrazi u datoteci ili tekstu. Alat grep pripada obitelji uslužnih programa koji uključuju egrep, fgrep i grep, među kojima je fgrep najbrži od svih, dok je grep najlakši.

Opća sintaksa za korištenje grep je sljedeća:

grep -options string naziv datoteke

Na primjer, za traženje riječi "root" u datoteku /etc/passwd:

instagram viewer
grep root /etc/passwd

Neki standardni primjeri naredbenog retka za početak su:

Mogućnosti Primjer Opis
-c grep -c ./bashrc Izbrojite broj redaka u kojima postoji niz
-i grep -i ./bashrc Izvršite pretragu za navedeni niz bez obzira na velika i mala slova
-o grep -o datoteka Ispisuje samo podudarni niz
-l grep -l "passwd" Ispisuje nazive datoteka u trenutnom direktoriju koji odgovaraju uzorku
-n grep -n datoteka Ispisuje broj retka duž retka koji sadrži navedeni niz
niz1|niz2 grep datoteka "string1|string2". Pronađite i ispisuje više nizova iz datoteke

Slično, možete koristiti ^ metacharacter s naredbom grep za prikaz svih podudarnih nizova koji počinju određenim znakovima.

Na primjer, sljedeća naredba prenosi izlaz naredbe env kao ulaz u grep i prikazuje varijable koje počinju s "HO":

env | grep ^HO

Povezano: Praktični primjeri naredbi Linux Grep

2. awk

awk je moćan skriptni jezik i alat za manipulaciju tekstom iz naredbenog retka koji može izvršiti skeniranje redak po red i uspoređivati ​​retke s uzorcima. Osnovna sintaksa naredbe awk je radnja definirana između jednog navodnika i vitičastih zagrada nakon kojih slijedi naziv datoteke.

awk '{action}' naziv datoteke
awk '{uzorak; action}' naziv datoteke

Uslužni program pretražuje datoteku koristeći regularne izraze i izvodi funkciju definiranu u parametru akcije. awk izvršava skriptu u svakom retku ako ne postavite uzorak, kao što je prikazano u nastavku:

awk '{print $1}' awk_examples.txt

...gdje $1 prikazuje prvo polje awk_examples.txt datoteka.

Sljedeća naredba izvodi funkciju ispisa na danom uzorku zamjenom drugog polja "Svijet" sa "Alice," i prikazuje cijeli redak ($0):

eho "Zdravo svijete" | awk '{$2="Alice"; ispiši $0}'

Izlaz:

Pozdrav Alice

Slično, možete koristiti funkciju ispiši $0 iz gornje naredbe za oponašanje grep funkcionalnost.

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

3. vrsta

sort je još jedan Linux uslužni program naredbenog retka koji vam pomaže prikazati sadržaj navedene tekstualne datoteke u sortiranom formatu. Na primjer, možete usmjeriti izlaz naredbe awk kao ulaz u pomoćni program za sortiranje na sljedeći način:

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

Izlaz:

Povezano: Kako sortirati tekstualne datoteke u Linuxu pomoću sortiranja

4. sed

sed ili uređivač streama uzima ulaz kao tok znakova i izvodi filtriranje i transformacije teksta (brisanje, zamjenu i zamjenu) na navedenom tekstu.

Možete ga koristiti u skripti i uređivati ​​datoteke neinteraktivno. Stoga je najosnovnija svrha uslužnog programa zamjena niza/znakova. Opća sintaksa je:

sed 's/string/supstitution/option' datoteka

Napravite datoteku koristeći nasumične rečenice kako biste vježbali i razumjeli rad ovog uslužnog programa.

Zamijenimo pojavu riječi "dva" u svakom retku datoteke sa "2" koristiti -g zastava za globalnu zamjenu, kako slijedi:

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

Slično, koristite -d zastavicom za brisanje određenog retka iz datoteke:

sed '2d' sed_examples.txt

Također možete zamijeniti niz navođenjem broja retka (4 s/dvije/2/str) i ispisuje samo zamijenjeni redak na sljedeći način:

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

The -n flag u gornjoj naredbi onemogućuje automatski ispis ulaznog toka na izlaz. Ovu opciju možete koristiti u svoju korist za zamjenu funkcionalnosti uslužnog programa grep sa sed.

Na primjer, možete izmijeniti gornju naredbu uključivanjem samo uzorka regularnog izraza /two/p takav da je -str flag će ispisati samo retke u standardni izlazni tok.

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

Povezano: Ovih 10 sed primjera učinit će vas iskusnim korisnikom Linuxa

5. izrezati

Cut je još jedan uslužni program naredbenog retka koji reže/izvlači dijelove teksta iz retka ili datoteke. Reže tekst na temelju određenog polja, znaka ili pozicije bajta i šalje rezultat u standardni izlaz.

Uslužni program ima sljedeću sintaksu:

izrezati  datoteka

Koristiti -b mogućnost rezanja odjeljka ili sadržaja pomoću određenog bajta ili raspona bajtova:

cut -b 1 cut_examples.txt

Koristiti -c zastavicu za izdvajanje teksta navođenjem položaja znakova:

cut -c 1,3,5 cut_examples.txt

Na kraju, također možete izdvojiti tekst navođenjem polja s -f opcija i -d za razmak ili graničnik polja:

cut -d " " -f 1 cut_examples.txt

Ovdje je popis raspona s primjerima i opisima koje možete koristiti s likom -c i bajt -b opcije:

Domet Primjer Opis
n- cut -c 7- naziv datoteke Izdvoj znak iz n-tog cijelog broja do kraja retka
n-m cut -b 7-15 naziv datoteke Ekstrakti iz cijelog broja n-m svakog retka iz ulazne datoteke
-m cut -c -7 naziv datoteke Izdvaja retke počevši od m do kraja retka

Imajte na umu da ne možete definirati raspone za izdvajanje teksta pomoću polja -f opcija.

Manipuliranje tekstom s Linux naredbama

Linux nudi mnoge programe i alate za rukovanje i rad oko datoteka ili teksta. Učenje svih njih možda neće biti potrebno jer možete jednostavno popuniti prazninu s drugim nakon što dobro uhvatite jedan, kao što je korištenje sed kao grep ili awk kao grep, ali to ne može vrijediti za svaki alat.

Osim toga, Linux naredbe imaju strmu krivulju učenja, ali kada jednom razvijete vještinu, mogu se pokazati vrlo korisnima i učinkovitima u životu svakog korisnika Linuxa, posebno administratora sustava.

8 najboljih terminalskih aplikacija za poboljšanu produktivnost Linuxa

Umorni ste od stare i dosadne terminalske aplikacije koja dolazi predinstalirana na Linuxu? Pogledajte ovih osam terminalskih aplikacija koje će poboljšati vaš tijek rada.

Pročitajte dalje

UdioCvrkutE-mail
Povezane teme
  • Linux
  • Linux naredbe
O autoru
Rumaisa Niazi (Objavljeno 7 članaka)

Rumaisa je slobodni pisac u MUO. Nosila je mnogo šešira, od matematičarke do entuzijasta za informacijsku sigurnost, a sada radi kao analitičarka SOC-a. Njezini interesi uključuju čitanje i pisanje o novim tehnologijama, distribucijama Linuxa i svemu oko informacijske sigurnosti.

Više od Rumaise Niazi

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu