Използването на търсенето на файлове по съдържание в Linux може значително да намали времето и усилията при търсене на конкретна информация в големи и сложни файлови системи.
Това търсене може да бъде особено полезно, когато искате да намерите файлове, които съдържат определен низ или ключова дума, или когато искате да намерите всички файлове, които отговарят на определен модел или критерий.
Търсенето на файлове по съдържание може да се използва за различни задачи, като например намиране:
Общата цел на търсенето на файлове по съдържание е да се улесни работата с файловата система и да се намери необходимата информация във файловата система.
Нека да започнем с помощната програма ack. Тя е създадена през 2005 г. като алтернатива на grep и бързо става популярна сред разработчиците.
Тя има няколко предимства пред grep
, включително:
grep
. Това означава, че можете лесно да намерите скрити файлове в системата си.Примери за използване на ack:
- Намерете всички файлове в текущата папка и нейните подпапки, които съдържат думата
"test": ack "test"
- Същото нещо, но с изключване на файлове с разширение
.bak: ack "test" --ignore-file=match:/.bak$/
- Намиране на всички файлове в текущата папка, съдържащи символа "hello", и извеждане на първите два реда от всеки файл:
ack "hello" --heading --max-count=2
Вторият интересен инструмент е ripgrep. В много отношения той е подобен на ack, но използва по-бърз алгоритъм за търсене, което го прави особено полезен за големи проекти.
Ето няколко примера:
"test": rg "test"
.bak: rg "test" --glob "!*.bak"
rg "hello" --heading --max-columns=2
Накрая си струва да споменем fzf. Това не е просто търсачка на низове като ack и ripgrep. Fzf се използва като помощна програма за намиране на файлове, папки и елементи в списък. Иначе работи подобно на ack/ripgrep, но с добавена възможност за филтриране на резултатите в реално време. Ето някои примери:
- Търсене на файлове, започващи с буквата F на вашия компютър:
locate F | fzf -m
- Излизане от текущата папка и отиване в желаната директория:
cd **<TAB> | fzf
- Изберете ревизията на SVN и копирайте номера й в клипборда:
svn log | fzf --reverse --ansi | awk '{print $1}' | pbcopy
Надяваме се, че тези инструменти ще ви помогнат да намерите бързо и ефективно необходимите ви файлове и низове. Който и да изберете, всички те предлагат разширено търсене, което може значително да ускори работата ви.