Jak w Linuksie wyszukiwać pliki po zawartości? Można powiedzieć „nic bardziej prostszego” ponieważ Linux od narodzin został stworzony z myślą aby operacje tego typu dało się przeprowadzać możliwie szybko i aby umożliwić administratorom bardzo bogaty zakres możliwości, a wyszukiwanie plików po zawartości to jedna z pierwszych lub bardzo często stosowanych rzeczy.

wyszukiwanie plików po zawartości z użyciem FIND

możemy pokazać albo nazwy plików:

find ./ -type f -exec grep -l timer_ {} \;

albo ich zawartość z poszukiwanym słowem:

find ./ -type f -exec grep -n timer_ {} \;
32:         <?php printf(__('%1$s queries in %2$s seconds', 'mystique'), get_num_queries(), timer_stop(0, 2)); ?>

wyszukiwanie plików po zawartości z użyciem GREP

najbardziej podstawowe użycie

grep -lir "fragment pliku" ./

ten sam efekt jak w poprzednim punkcie (z wyszukaniem funkcji timer_…()) możemy uzyskać stosując krótszą formę:

grep -rl "timer_" ./

wyszukiwanie z operatorem logicznym OR

grep 'pattern1\|pattern2' filename

lista opcji:

| *opcja* | wyjaśnienie |
| -r | recursive |
| -n | show line number |
| -w | whole word |
| -l | list of files, use only -n or -l |
| -E | extended REGEXP |

wyszukiwanie plików po zawartości z użyciem REGEX

wszystkie konstrukcje sprowadzają się do tego samego, wyszukiwanie z operatorem OR:

grep -rnE 'get_option(|get_theme_mod(' wp-content/theme/mytheme
egrep 'pattern1|pattern2' filename
grep -e pattern1 -e pattern2 filename

wyszukiwanie z operatorem logicznym AND

grep -E 'pattern1.*pattern2' filename
grep -E 'pattern1.*pattern2|pattern2.*pattern1' filename
grep -E 'pattern1' filename | grep -E 'pattern2'

dopadowanie odwrotne (operator NOT)

grep -v 'pattern1' filename

więcej przykładów:
https://www.thegeekstuff.com/2011/10/grep-or-and-not-operators
http://www.commandlinefu.com/commands/view/2244/find-files-containing-text
https://www.cyberciti.biz/faq/howto-search-find-file-for-text-string/
https://www.linode.com/docs/tools-reference/tools/find-files-in-linux-using-the-command-line
http://www.wikihow.com/Find-a-File-in-Linux
https://www.howtoforge.com/tutorial/linux-grep-command/