Поиск Grep, возвращающий другую строку

Это мой поиск grep

grep 'Invoker_Slark*' true_pairscore.txt 

Но он возвращает строку Invoker_Slardar . Хотя файл содержит Invoker_Slark . Почему это?

Причина в том, что Invoker_Slark* считается регулярным выражением, где k* означает: «ноль или больше вхождений k»

Это отличается от шаблонов globing shell, где * означает 0 или более символов.

Чтобы найти Invoker_Slark любом месте строки, вам необходимо:

  1. grep 'Invoker_Slark' true_pairscore.txt или

  2. grep -x '.*Invoker_Slark.*' true_pairscore.txt

Если строка поиска должна находиться в начале строки, это должно быть изменено на:

  1. grep '^Invoker_Slark' true_pairscore.txt или

  2. grep -x 'Invoker_Slark.*' true_pairscore.txt