Question: I need to remove empty new lines from text file in terminal.

Example file

```
123
123
123
123

123

123

```

I've searched in google a bit but only solution found was `sed '/^$/d' myFile > tt` and it does not help. I still got these empty new lines.

Answer: 
**Using AWK:** NF is AWK's in-built variable that stores the number of fields in each record. When used by it self, it will print only those lines where NF!=0. 

```
[jaypal~/Temp]$ cat t
123
123
123
123

123

123

[jaypal~/Temp]$ awk 'NF' t
123
123
123
123
123
123

```
The solution you posted will delete empty lines:

```
sed '/^$/d' myFile > output

```

This won't work for lines that contain spaces, or hard tabs, or any other kind of whitespace, including carriage returns. This means, if your text file originated on Windows, that solution probably won't work.

On Unix, lines are simply separated with a line feed. On Windows, they are separated with a carriage return and a line feed.

Here's one way to delete empty lines, compatible with Windows' text format:

```
sed '/^\x0D\?$/d' myFile > output

```

If you want to delete lines that contain only whitespace, this should work (on Ubuntu at least):

```
sed -r '/^\s*\x0D?$/d' myFile > output

```