PFKrang
PFKrang

Reputation: 289

Find lines starting with one specific character and ending with another one

I need to find a line in a file that starts with an a and the last word in the line ends with an e.

How can I do it with a tool like grep?

Upvotes: 8

Views: 71125

Answers (3)

jun41D
jun41D

Reputation: 3

$ grep -E '.*sam.*t' filename

here .* is used for any character that regex can find. here "sam" is the word in my case.

Upvotes: 0

Aulo
Aulo

Reputation: 141

Simple answer : use grep.

grep -E "^a.*e$" filename

the ^ indicates the beggining of the line the $ marks the end of the line the .* means any character (the .) repeated from zero to any number of times (the *). Many topics have already answered this questions, like this one. If you want to know more of searching, you could look more in depth into REGEX.

Upvotes: 3

fedorqui
fedorqui

Reputation: 289725

Just say this:

grep '^a.*e$' file

This means: look for those lines starting (^) with a, then 0 or more characters and finally and e at the end of the line ($).

Test

$ cat a
hello
and thisfinishes with e
foo
$ grep '^a.*e$' a
and thisfinishes with e

Upvotes: 21

Related Questions