Korzystanie z wyszukiwania plików według zawartości w systemie Linux może znacznie skrócić czas i zmniejszyć wysiłek związany z wyszukiwaniem określonych informacji w dużych i złożonych systemach plików.
To wyszukiwanie może być szczególnie przydatne, gdy chcesz znaleźć pliki zawierające określony ciąg znaków lub słowo kluczowe, lub gdy chcesz znaleźć wszystkie pliki pasujące do określonego wzorca lub kryterium.
Wyszukiwanie plików według zawartości może być używane do różnych zadań, takich jak znajdowanie
Ogólnym celem wyszukiwania plików według zawartości jest ułatwienie pracy z systemem plików i znalezienie potrzebnych informacji w systemie plików.
Zacznijmy od narzędzia ack. Zostało ono stworzone w 2005 roku jako alternatywa dla grep i szybko stało się popularne wśród programistów.
Ma kilka zalet w porównaniu do grep
, w tym:
grep
. Oznacza to, że można łatwo znaleźć pliki ukryte w systemie.Przykłady użycia ack:
- Znajdź wszystkie pliki w bieżącym folderze i jego podfolderach, które zawierają słowo
"test": ack "test"
- To samo, ale z wyłączeniem plików z rozszerzeniem
.bak: ack "test" --ignore-file=match:/.bak$/
- Znalezienie wszystkich plików w bieżącym folderze zawierających ciąg "hello" i wypisanie pierwszych 2 linii każdego pliku:
ack "hello" --heading --max-count=2
Drugim interesującym narzędziem jest ripgrep. Jest podobne do ack na wiele sposobów, ale używa szybszego algorytmu wyszukiwania, co czyni go szczególnie przydatnym w przypadku dużych projektów.
Oto kilka przykładów:
"test": rg "test"
.bak: rg "test" --glob "!*.bak"
rg "hello" --heading --max-columns=2
Na koniec warto wspomnieć o fzf. Nie jest to tylko wyszukiwarka ciągów znaków jak ack i ripgrep. Fzf jest używany jako narzędzie do wyszukiwania plików, folderów i elementów na liście. W przeciwnym razie działa podobnie do ack/ripgrep, ale z dodatkową możliwością filtrowania wyników na żywo. Oto kilka przykładów:
- Wyszukiwanie plików zaczynających się na literę F na komputerze:
locate F | fzf -m
- Wyjście z bieżącego folderu i przejście do wybranego katalogu:
cd **<TAB> | fzf
- Wybierz wersję SVN i skopiuj numer do schowka:
svn log | fzf --reverse --ansi | awk '{print $1}' | pbcopy
Mamy nadzieję, że te narzędzia pomogą ci szybko i skutecznie znaleźć potrzebne pliki i ciągi znaków. Niezależnie od wyboru, wszystkie oferują zaawansowane wyszukiwanie, które może znacznie przyspieszyć pracę.