Почему GREP конец строки не работает с этим файлом? - PullRequest
0 голосов
/ 11 апреля 2020

Я пытаюсь выполнить следующую команду, и она не работает: grep -a '2$' text.txt

Надеюсь, кто-нибудь может мне это объяснить.

Сначала файл text.txt, Когда я открываю его с помощью VIM (Visual Editor), отображается [noeol] и [dos]. Если я использую set list, я вижу $ в конце строки, я вижу много ^M^L в конце страницы и столько же ^@. Я также вижу $.

Мои первые 3 вопроса: 1. Что такое ^M? Возврат каретки? 2. Что такое ^L? точно? Перевод строки? 3. Я прочитал, что ^@ является нулевым символом. Почему это там?

Если я сделаю grep '2' text.txt, он вернет

Двоичный файл (стандартный ввод) соответствует при попытке найти строковый шаблон в файле

Итак, я делаю grep -a '2' text.txt, и я получаю ожидаемые результаты.

Если я сделаю grep -a '2$' text.txt, потому что мне нужно 2 в конце строки, команда не выполнится и ничего не показывает.

...