Cautarea recursiva pe sisteme LINUX

De foarte multe ori mi se intampla sa uit cate un argument pt. diversele comenzi folosite in administrarea “de zi cu zi” a serverelor. Astazi de exemplu pur si simplu nu imi mai puteam aduce aminte argumentul pt. cautarea recursiva a unui string intr-un director. “Rezolvarea” e extrem de simpla:

grep -R “cuvant_cautat” /path/dorit

In cazul in care exista prea multe rezultate, output-ul se poate filtra dupa un al doilea cuvant cheie:

grep -R “primul_cuvant_cautat” /path/dorit | grep al_doilea_cuvant

Din nou, aceste comenzi vor cauta recursiv un cuvant (string) in path-ul specificat si subdirectoarele acestuia.

Pt. a cauta un fisier recursiv se va folosi “find” si “grep”:

find /path/dorit | grep nume_fisier_cautat

Bine inteles si acest rezultat poate fi filtrat dupa un al doilea cuvant cheie:

find /path/dorit | grep nume_fisier_cautat | grep al_doilea_cuvant_cheie

In cazul in care rezultatele sunt prea multe recomand introducerea output-ului intr-un fisier prin adaugarea

> /path/catre/fisierul_output

dupa comanda dorita. Exemplu:

grep -R “cuvant_cautat” /home/directorul_meu > /home/rezultat

Aceasta comanda va cauta recursiv string-ul “cuvant_cautat” in directorul “/home/directorul_meu”, introducand rezultatul in fisierul /home/rezultat.

Exista si alte metode pt. a obtine acelasi rezultat insa eu personal m-am obisnuit cu “grep” si “find”.

2 Comments

Leave a Comment

Your email address will not be published. Required fields are marked *