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:
grep root /etc/passwd
Neki standardni primjeri naredbenog retka za početak su:
Mogućnosti | Primjer | Opis |
---|---|---|
-c | grep -c |
Izbrojite broj redaka u kojima postoji niz |
-i | grep -i |
Izvršite pretragu za navedeni niz bez obzira na velika i mala slova |
-o | grep -o |
Ispisuje samo podudarni niz |
-l | grep -l "passwd" | Ispisuje nazive datoteka u trenutnom direktoriju koji odgovaraju uzorku |
-n | grep -n |
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.
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
- Linux
- Linux naredbe
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.
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