Простой grep должен быть хорошим, как объясняет @Shellter. Я добавлю тест и результаты для простоты понимания, я ищу в 3 файлах test1.txt, test2.txt и test3.txt, вы можете оставить его с подстановочным знаком «*» для глобального поиска в папке.
При поиске шаблона он возвращает все совпадающие шаблоны, grep не заботится о том, что к шаблону добавлено с префиксом / суффиксом, возвращается вся строка.
$grep "india" test*
test1.txt:india.a
test1.txt:india_a
test1.txt:india_z
test2.txt:india.a
test2.txt:india_a
test2.txt:india_z
test3.txt:india.a
test3.txt:india_a
test3.txt:india_z
Когда выполняется точное поиск строк из файла с совпадениями возвращаются.
$grep "india_a" test*
test1.txt:india_a
test2.txt:india_a
test3.txt:india_a
Другой способ исключить шаблон specfi c - использовать "grep -v", как показано ниже, что исключит строки с шаблоном из выходных данных. возвращается первым grep.
$grep "india" test* | grep -v "india_z"
test1.txt:india.a
test1.txt:india_a
test2.txt:india.a
test2.txt:india_a
test3.txt:india.a
test3.txt:india_a