Как использовать grep с привязкой $ в шаблоне регулярного выражения? - PullRequest
0 голосов
/ 17 июня 2020

Я искал в Интернете ( здесь ) и искал в SO, но я не понял, почему grep не может сопоставить строки, заканчивающиеся привязкой $

мой входной файл

f_Hndlr_foo=0xd0001244 0x4
f_Doj_cmdmem=0x7ffe8710 0x44
f_Doj_getHif=0xd0001248 0x4
f_tpl_geBufferPtr_rom=0x7ffe8754 0x6A
f_tDoj_cmdmem=0x7ffe8710 0x21
f_tDoj_getHif=0xd0001248 0x43
f_tpl_geBufferPtr_rom=0x7ffe8754 0x21A

Мне нужно сопоставить только строки, заканчивающиеся на 0x4! Я набрал grep со всеми нижеследующими, и ничего не найдено, и извлеките нужные мне строки! что я делаю не так?

grep -E "0x4$" "C:\Users\user\Desktop\foo.txt"
grep -E ".0x4$" "C:\Users\user\Desktop\foo.txt"
grep -E " 0x4$" "C:\Users\user\Desktop\foo.txt"
grep -E 0x4$ "C:\Users\user\Desktop\foo.txt"

Я использую командную строку win7. версия grep: grep (GNU grep) 3.1

1 Ответ

1 голос
/ 17 июня 2020

Поскольку ожидает Unix окончания строки, вам нужно:

grep '0x4[[:cntrl:]]*$' Input_File

Или подумайте о передаче dox2unix инструмента в файл, прежде чем сделать это проще.

Проверить: https://unix.stackexchange.com/a/176505/12574

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...