[BASH] Kako pronaći fajlove koji sadrže određen string

Uz pomoć grep komande jednostavno možete izvršiti pretragu svih fajlova u određenom folderu na osnovu toga da li sadrže određeni string.

grep -rnw \'/home/folder\' -e \'string\'

  • -r označava pretragu fajlova u svim folderima (rekurzivno) -R oznaka znači isto to samo što uklj. i symlinkove,
    -n prikazuje broj linije u fajlu, i
    -w označava poklapanje cele reči.
    -l (lower-case) može biti dodato ukoliko želite da isprintate samo putanje do fajlova u kojima se string nalazi bez sadržaja.

Zajedno --exclude--include--exclude-dir or --include-dir se mogu koristiti za efikasniju pretragu.

Primer 1:

grep -rnw \'/home/perica.com/public_html\' -e \'WP_DEBUG\'

./wp-content/plugins/above-the-fold-optimization/README.txt:281:* Bugfix: notice error with WP_DEBUG enabled.
./wp-content/plugins/contact-form-7/includes/functions.php:353: if ( WP_DEBUG && $trigger_error ) {
./wp-content/plugins/contact-form-7/includes/contact-form.php:159: if ( WP_DEBUG ) {
./wp-content/plugins/contact-form-7/includes/contact-form.php:165: if ( WP_DEBUG ) {
./wp-content/plugins/contact-form-7/includes/contact-form.php:171: if ( WP_DEBUG ) {

Primer 2:

grep -rnwl \'/home/perica.com/public_html\' -e \'WP_DEBUG\'

./wp-content/plugins/above-the-fold-optimization/README.txt
./wp-content/plugins/contact-form-7/includes/functions.php
./wp-content/plugins/contact-form-7/includes/contact-form.php

Za više opcija pogledajte man grep