Kako pronaći tekst u datotekama u Linuxu

How Find Text Files Linux

Za administratora sustava rad s tekstualnim datotekama uobičajena je pojava. Možda je potrebno pronaći određeni odjeljak iz hrpe datoteka dnevnika za rješavanje problema? Ili morate brzo pronaći dokument koji sadrži bitne podatke?

U slučaju Linuxa, postoje brojne metode za pronalaženje tekstova u datotekama. Moguće je pomoću ugrađenih alata i aplikacija trećih strana. Provjerite kako pronaći tekst u datotekama u Linuxu.



Traženje teksta u datotekama

Ovisno o broju datoteka na kojima morate izvršiti pretraživanje, postoje dva načina pretraživanja teksta: automatizirani ili ručni. Ako morate raditi s nekoliko tekstualnih datoteka, prikladnije je ručno pretraživanje. Međutim, ako postoje stotine tekstualnih datoteka, tada je automatizirano pretraživanje najučinkovitije.



Za automatizirano pretraživanje koristit ćemo grep. Grep dolazi unaprijed instaliran na bilo koji Linux distro. Što se tiče ručnog pretraživanja, svaki moderni uređivač teksta će obaviti posao.



Pronađite tekst u datotekama pomoću grepa

U Linuxu grep je zadani alat za pretraživanje tekstova. Ime mu je izvedeno iz naredbe ed g/re/p koja označava globalno pretraživanje regularnog izraza i ispis odgovarajućih redaka. Dostupan je na bilo kojem modernom Linux distribuciji.

Grep je alat za naredbeni redak. Njegova naredbena struktura je sljedeća.

$zahvat <opcija> <regularni_izraz> <file_path>

Kao što naziv grepa sugerira, uzorak za traženje opisan je pomoću regularnog izraza. Regularni izraz posebna je vrsta niza koja opisuje uzorak za usklađivanje, lociranje i upravljanje. Da biste saznali više o grepu i regularnom izrazu, provjerite koristeći grep i egrep s regularnim izrazom .



U svrhu demonstracije uzmite uzorak tekstualne datoteke. U ovom primjeru preuzmite GNU Opća javna licenca v3.0 tekstualna datoteka .

Osnovno pretraživanje

Temeljni način korištenja grepa je traženje osnovnog niza.

Pogledajte sljedeću naredbu grep. Tražit će riječ GNU u tekstualnoj datoteci.

$zahvat 'GNU'lpg-3.0.txt

Za prikaz broja retka upotrijebite zastavicu -n.

$zahvat -nGNU gpl-3.0.txt

Za pretraživanje bez razlikovanja velikih i malih slova koristeći grep, upotrijebite zastavicu -i.

$zahvat -nignu gpl-3.0.txt

Možda u nekim situacijama ne želite vidjeti podudaranje pretraživanja, već samo naziv datoteke na kojoj se podudaranje dogodilo. Za ispis samo naziva datoteke upotrijebite zastavicu -l. Ovdje zvjezdica označava korištenje svih tekstualnih datoteka u trenutnom direktoriju.

$zahvat -gnu*

Također možemo prenijeti izlaz drugih naredbi u grep.

$mačkalpg-3.0.txt| zahvat -nGNU

Regularno izražavanje

Regex nudi pametan način finog podešavanja pretraživanja. Ima svoja pravila. Međutim, različite aplikacije i programski jezici različito implementiraju regularni izraz. Evo nekoliko primjera koje možete koristiti s grepom.

Da biste definirali da će se niz pronaći na početku retka, upotrijebite simbol karete (^).

$zahvat -n^ GNU gpl-3.0.txt

Da biste definirali da se niz nalazi na kraju retka, upotrijebite znak dolara ($).

$zahvat -nna $ gpl-3.0.txt

Da biste opisali da na određenom mjestu uzorka može postojati bilo koji znak, upotrijebite znak točke (.). Na primjer, izraz G.U vrijedi ako postoji znak između G i U.

$zahvat -nG.U gpl-3.0.txt

Da biste opisali da na određenom mjestu uzorka može postojati podskup znakova, koristite zagrade ([]). Na primjer, izraz t [wo] o govori da podudaranje vrijedi samo za dvoje i previše.

$zahvat -nt[Gdje]o gpl-3.0.txt

Prošireni regularni izraz

Kao što naziv govori, prošireni regularni izraz može učiniti složenije stvari od osnovnih regularnih izraza. Da biste koristili prošireni regularni izraz s grepom, morate koristiti zastavicu -E.

$zahvat -rođen <prošireni_regex> <datoteka>

Za traženje dva različita niza koristite operatore OR (|).

$zahvat -rođenGNU|Općenito|Licenca gpl-3.0.txt

Traženje teksta u datotekama

Sada slijedi glavni dio. Umjesto da ručno kaže grep datoteci da izvrši pretraživanje, grep to može učiniti automatski. U sljedećoj naredbi grep će koristiti sve dostupne tekstualne datoteke u trenutnom direktoriju za pretraživanje uzorka.

$zahvat <regeks> *

Ako želite grep izvršiti pretraživanje u drugom direktoriju, morate navesti lokaciju.

$zahvat <regeks> <direktorij_puta>

Ako postoje mape, grep ih prema zadanim postavkama ne istražuje. Da biste rekli grepu da traži rekurzivno, upotrijebite zastavicu -R.

$zahvat -nR <regeks> <direktorij_puta>

Grip GUI

Ako više volite raditi s grafičkim sučeljem, ali ipak želite uživati ​​u značajkama grepa, provjerite searchmonkey. To je front-end rješenje za grep. Paket je dostupan na gotovo svim većim Linux distribucijama.

Pronađite tekst u datotekama pomoću nano

GNU Nano je jednostavan i moćan uređivač teksta koji dolazi sa bilo kojim Linux distribucijom. Ima ugrađene značajke za traženje teksta u tekstualnoj datoteci.

Imajte na umu da u ovoj metodi morate otvoriti tekstualnu datoteku i ručno pretraživati. To je izvedivo ako postoji samo nekoliko tekstualnih datoteka za rad. Ako ima više, onda je upotreba grepa najoptimalniji izbor.

Otvorite tekstualnu datoteku u nano.

$nano <file_path>

Za traženje podudarnosti niza pritisnite Ctrl + W. Nakon upisivanja niza za traženje pritisnite Enter.

Pronađite tekst u datotekama pomoću programa Vim

Vim je poznati i cijenjeni uređivač teksta. To je ekvivalent naredbenog retka modernom uređivaču teksta. Vim dolazi s brojnim naprednim značajkama poput dodataka, makronaredbi, automatskog dovršavanja, filtara itd.

Slično nano, Vim radi s jednom datotekom odjednom. Ako imate više tekstualnih datoteka, upotreba grepa je najoptimalniji način.

Da biste pretražili tekstualnu datoteku, prvo je otvorite u Vimu.

$došao sam <file_path>

Unesite sljedeću naredbu Vim i pritisnite Enter.

$:/<pojam za pretraživanje>

Pronađite tekst u datotekama pomoću GNOME uređivača teksta

GNOME Text Editor je uređivač teksta koji dolazi s radnom površinom GNOME -a. To je pojednostavljeni uređivač teksta sa svim osnovnim značajkama koje biste očekivali. To je lijepa alternativa uređivačima teksta naredbenog retka.

Slično nano i vim, isti oprez vrijedi i za ovu metodu. Ako je broj tekstualnih datoteka velik, bolje se držite grepa.

Otvorite tekstualnu datoteku u uređivaču teksta. Pritisnite Ctrl + F da biste otvorili traku za pretraživanje.

Pronađite tekst u datotekama pomoću VS koda

Visual Studio Code moćan je uređivač teksta s mnoštvom značajki. Optimiziran je za korištenje programera kao da je to punopravni IDE. Dostupan je na gotovo svim većim Linux distribucijama.

Instalirajte snap paket Visual Studio Code.

$sudopucnutiinstaliratikodirati--klasična

Otvorite tekstualnu datoteku u VS kodu. Pritisnite Ctrl + F za početak pretraživanja.

Završne misli

Postoji mnogo načina za pretraživanje teksta u datotekama. Lak je zadatak svladati. Toplo se preporučuje svladavanje naredbe grep jer nudi najveću vrijednost u smislu učinkovitosti i jednostavnosti uporabe.

Ako više volite grafičko sučelje, postoje brojni uređivači teksta koje možete izabrati. Svaki moderni uređivač teksta omogućit će opciju pretraživanja teksta.

Sretno računanje!