Removing blank lines not working

view story

http://www.unix.com – In my bash script I want to echo lines in a file and ensure no blank lines are echoed: Code: for i in $(cat txt) do echo $i | sed 's/|/ /g;s/ SEARCHTERM$//g;s/ /\r\n/g;s/^$/d' done Keep in mind this is a fragment so ignore the fact that the for loop is not closed. When I add the "s/^$/d' per several other examples I've found on these forums I receive an "unterminated s" error. How do I properly remove blank lines? I tried removing the s and breaking it into a separate sed statement but either it's not removing the blank lines or I get an unterminated s error. Sample inp (HowTos)