I want to grep a file with a word, say \"AAA\", and it ends with whitespace or newlines. I know how to write this seperately, as follows, but having problems in combining th
You can use the -e
option of grep to select many patterns:
grep -e "AAA$" -e "AAA[[:space:]]"
From the grep man:
-e PATTERN, --regexp=PATTERN
Use PATTERN as the pattern. This can be used to specify
multiple search patterns, or to protect a pattern beginning with
a hyphen (-). (-e is specified by POSIX.)
Use "AAA\b"
if it's acceptable to also match AAA followed by any other non-alphanumeric character. According to the grep man pages, \b
matches the empty string at the edge of a word.
$ echo -e "AAA VVV \nVVV AAA\nBBB" | grep "AAA\b"
AAA VVV
VVV AAA
If you are looking for word AAA
followed by space anywhere in the string, or at the end of line, then use
grep -P "AAA( |$)"