Jedním z nejdůležitějších aplikací, které jsem kdy v Linuxu potřeboval, bylo ack . S ním můžete prohledávat celý systém nebo složku pro konkrétní text a prohledává jej v názvech souborů a složek a v nich. Jednou jsem hledal konfigurační soubor jednoho CMS a ack na chvíli našel uživatelské jméno a heslo, bůh vám žehnej 🙂
Co je to ale přesně?
Ack je navržen jako náhrada za 99 % použití grep .
Ack hledá v pojmenovaných vstupních SOUBORech (nebo standardním vstupu, pokud nejsou pojmenovány žádné soubory nebo je zadán název souboru) a hledá řádky obsahující shodu s daným PATTERN . Ve výchozím nastavení ack vytiskne odpovídající řádky.
Ack může také vypsat soubory, které by byly prohledány, aniž by je skutečně prohledávaly, což vám umožní využít možnosti filtrování typu souborů.
Jak nainstalovat ack?
# Install ack in Ubuntu \ Debian
sudo apt-get install ack
or
sudo apt-get install ack-grep
# Install ack in CentOS
yum install epel-release
yum install ack
# Instal ack in opensuse
zypper addrepo https://download.opensuse.org/repositories/openSUSE:Factory/standard/openSUSE:Factory.repo
zypper refresh
zypper install ack
# Install ack in Fedora
dnf install ack
# Install ack in FreeBSD
pkg install p5-ack
Code language: PHP (php)
Jak používat ack?
Pokud použijete ack pouze napsáním ack „text“, příkaz bude fungovat perfektně, ale může vám poskytnout mnohem více výkonu. Zde je několik příkladů:
01 – Základní použití
# Basic usage
ack string-to-search
# Example:
cd /var/lib
ack name
Code language: PHP (php)
02 – Chcete-li zjistit, kolik souborů obsahuje hledaný řetězec, použijte
# Find how many files contain string
ack -f | wc -l
# Output
2331
Code language: PHP (php)
03 – Chcete-li vyhledat příklady našeho vzoru obklopeného hranicemi slov, použijte -w
# Surrounded by
ack -w string-to-search
Code language: PHP (php)
04 – Použijte -c získáte podrobné informace o hledaném řetězci
# Detailed information about string
ack -c string-tosearch
# Output
Doxyfile:8
Makefile:2
uncrustify.cfg:1
.travis.yml:2
neovim.rb:0
vim-license.txt:52
Code language: CSS (css)
05 – Vyhledejte typ souboru jako css nebo python nebo txt
# Search for file type like css or python or txt
ack string-to-search --css
Code language: PHP (php)
Závěr
Jak můžete vidět, aplikace ack je velmi flexibilní nástroj pro vyhledávání souborů, složek a uvnitř nich pro hledání řetězce. I když jej právě používáte k hledání souborů v prostředí Linuxu, většinou se vám bude hodit zvýšená síla potvrzení.