뒤에 점이 없는 grep 패턴

뒤에 점이 없는 grep 패턴

파일 a에는 다음이 포함됩니다.

abcd
abcd. defgh
defghabcd.
defgh. abcd
abcd .defgh

abcd점 접미사 없이 패턴이 있는 모든 행을 인쇄하는 방법은 무엇입니까?

인쇄해야 하며,

abcd
defgh. abcd
abcd .defgh #. after any other character is good to go

나는 그것을 시도했지만 grep 'abcd^[\.]' a작동하지 않았습니다.

답변1

^외부 괄호를 사용하면 [...]줄의 시작을 의미합니다. 괄호 안의 점이 이스케이프되면 실수를 범합니다. 이는 점이 아닌 백슬래시와 점 이외의 것을 [^\.]의미합니다 .\..

abcd[^.]또 다른 일치하지 않는 주석ABCD줄 끝에.

따라서 다음이 필요합니다.

$ grep -E 'abcd([^.]|$)' <file
abcd
defgh. abcd
abcd .defgh

관련 정보