Você provavelmente precisará disso:
grep '^[[:upper:]].*dog\.$' file
Você provavelmente já conhece as âncoras ^
(para o início da linha) e $
(para o final da linha). Em vez de usar [A-Z]
, é melhor usar a classe [[:upper:]]
, pois isso pode lidar melhor com letras maiúsculas acentuadas (lembre-se, se sua pergunta é para lição de casa, seu professor pode não estar ciente disso - minha experiência é que os cursos de linha de comando nas escolas é um dos piores ensinamentos que existem, os professores geralmente são incompetentes nisso, pois usam técnicas antigas ... (maus) hábitos são difíceis de morrer!).
Então, você está procurando .*
, em que o período .
corresponde a qualquer caractere e, em seguida, .*
significa qualquer número de qualquer caractere.
Finalmente, você precisa de um período de escape \.
, caso contrário, uma linha que termina com dogs
ou dog!
corresponderia ... já que um período sem escape corresponde a qualquer caractere.
Espero que isso ajude!