Utilizarea căutării fișierelor după conținut în Linux poate reduce semnificativ timpul și efortul de căutare a informațiilor specifice în sisteme de fișiere mari și complexe.
Această căutare poate fi deosebit de utilă atunci când doriți să găsiți fișiere care conțin un anumit șir sau cuvânt cheie sau când doriți să găsiți toate fișierele care corespund unui anumit model sau criteriu.
Căutarea fișierelor după conținut poate fi utilizată pentru diverse sarcini, cum ar fi găsirea:
Scopul general al căutării fișierelor după conținut este de a facilita lucrul cu sistemul de fișiere și de a găsi informațiile de care aveți nevoie în sistemul de fișiere.
Să începem cu utilitarul ack. Acesta a fost creat în 2005 ca o alternativă la grep și a devenit rapid popular printre dezvoltatori.
Are mai multe avantaje față de grep
, inclusiv:
grep
. Acest lucru înseamnă că puteți găsi cu ușurință fișiere ascunse pe sistem.Exemple de utilizare a ack:
- Găsiți toate fișierele din folderul curent și subfolderele acestuia care conțin cuvântul
"test": ack "test"
- Același lucru, dar excluzând fișierele cu extensia
.bak: ack "test" --ignore-file=match:/.bak$/
- Găsiți toate fișierele din folderul curent care conțin șirul "hello" și emiteți primele 2 linii ale fiecărui fișier:
ack "hello" --heading --max-count=2
Al doilea instrument interesant este ripgrep. Este similar cu ack în multe privințe, dar utilizează un algoritm de căutare mai rapid, ceea ce îl face deosebit de util pentru proiectele mari.
Iată câteva exemple:
"test": rg "test"
.bak: rg "test" --glob "!*.bak"
rg "hello" --heading --max-columns=2
La sfârșit merită menționat fzf. Nu este doar un căutător de șiruri de caractere precum ack și ripgrep. Fzf este folosit ca un utilitar pentru a găsi fișiere, foldere și elemente într-o listă. În rest, funcționează similar cu ack/ripgrep, dar cu posibilitatea suplimentară de a filtra live rezultatele. Iată câteva exemple:
- Căutați fișierele care încep cu litera F pe computer:
locate F | fzf -m
- Ieșiți din folderul curent și mergeți la directorul dorit:
cd **<TAB> | fzf
- Selectați revizuirea SVN și copiați numărul în clipboard:
svn log | fzf --reverse --ansi | awk '{print $1}' | pbcopy
Sperăm că aceste instrumente vă vor ajuta să găsiți rapid și eficient fișierele și șirurile de caractere de care aveți nevoie. Oricare ați alege, toate oferă căutări avansate care vă pot accelera munca considerabil.