egrep строка заканчивается - PullRequest
       0

egrep строка заканчивается

0 голосов
/ 23 октября 2018
$ cat file
c f t e, u y r s p  I y
p A w p d. R i
G e w o a l n o v s.
P G e a o c f s p
k e i c w a p p e.

$ od -c file
0000000   c       f       t       e   ,       u       y       r       s
0000020       p           I       y  \r  \n   p       A       w       p
0000040       d   .       R       i  \r  \n   G       e       w       o
0000060       a       l       n       o       v       s   .  \r  \n   P
0000100       G       e       a       o       c       f       s       p
0000120  \r  \n   k       e       i       c       w       a       p
0000140   p       e   .  \r  \n
0000146

Я попытался использовать команду egrep для grep всех строк, заканчивающихся на.Однако я не смог этого сделать!

например:

$ egrep '.*\.' file
p A w p d. R i
G e w o a l n o v s.
k e i c w a p p e.

Это не дало мне правильный вывод!

Также пытался использовать $ для привязкиточка, \ r и \ n, ни одна из них не работает.Любые предложения помогут.

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Вы должны начать преобразование вашего файла в формат Unix:

dos2unix file

Тогда вы можете просто использовать эту инструкцию:

egrep "[.]$" file
0 голосов
/ 23 октября 2018

Ваш файл в формате DOS (с окончанием возврата каретки / перевода строки).Либо сначала конвертируйте его в формат Unix и используйте

egrep '\.$'

, либо оставьте файл без изменений и найдите буквальный возврат каретки

egrep $'\\.\r$'

(используя обман bash, поскольку grep не понимает \r).

egrep '.*\.' просто находит все строки, которые содержат . в любом месте.

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