Before learning about AWK’s logical AND operator I used to string a pair of grep commands together to find two search terms:
grep abc filename | grep def
to find lines with both abc and def. This can be shortened into a single AWK command:
awk '/abc/&&/def/' filename
A logical OR is also provided using a pair of pipes ||
awk '/abc/||/def/' filename
You can also use the equivalent egrep command:
egrep 'abc|def' filename
To get comfortable with AWK, try using it instead of grep for a week. AWK has many more features than just printing fields from a file.