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

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

grep 'Invoker_Slark*' true_pairscore.txt 

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

  • grep переменной оболочки не находит ничего
  • Проверка скрипта выполняется
  • Обратный grepping
  • Есть ли одна строка для печати самой длинной строки в файлах в каталоге?
  • grep-файлы из списка
  • Будет ли grep быстрее работать с разрывами строк?
  • Как перечислить файлы резервных копий, отсутствующие в соответствующих файлах?
  • Как grep все слова, начинающиеся с цифры?
  • Как выполнять поиск регулярных выражений в файле UTF-16LE в локали UTF-8?
  • sed или grep, чтобы получить только значения без цифр
  • Обработка текста для извлечения полей структуры
  • Может кто-нибудь уточнить этот сценарий Bash
  • One Solution collect form web for “Поиск Grep, возвращающий другую строку”

    Причина в том, что 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

    Linux и Unix - лучшая ОС в мире.