Question: How to give a pattern for new line in grep?
New line at beginning, new line at end. Not the regular expression way. Something like \n.

Answer: 
`grep` patterns are matched against individual lines so there is no way for a pattern to match a newline found in the input.

However you can find empty lines like this:

```
grep '^$' file
grep '^[[:space:]]*$' file # include white spaces 

```
try `pcregrep` instead of regular `grep`:

```
pcregrep -M "pattern1.*\n.*pattern2" filename

```

the `-M` option allows it to match across multiple lines, so you can search for newlines as `\n`.