Remove comments and empty lines sed one-liner sed -e 's/#.*//' -e 's/[ ^I]*$//' -e '/^$/ d' …so I don’t have to think of it again.
Thanks for the one-liner. This is exactly the thing I was looking for to help parse a hosts file. sed -e ‘s/#.*//’ -e ‘s/[ ^I]*$//g’ -e ‘/^$/ d’ -e ‘s/127.0.0.1 //g’ -e ‘1,3d’ Reply
I came up with: sed -e ‘s/\s*#.*//’ -e ‘/^\s*$/ d’ You need ‘s’ if you want the comment to be removed, if there is content before it in the same line. This solution also covers lines beginning with spaces before the comment, like the the op’s does. Reply
Thanks for the one-liner. This is exactly the thing I was looking for to help parse a hosts file.
sed -e ‘s/#.*//’ -e ‘s/[ ^I]*$//g’ -e ‘/^$/ d’ -e ‘s/127.0.0.1 //g’ -e ‘1,3d’
Yo don’t need ‘s’ command, just use ‘d’ : sed -e ‘/^#/ d’ -e ‘/^ *$/ d’
Thanks!
I came up with:
sed -e ‘s/\s*#.*//’ -e ‘/^\s*$/ d’
You need ‘s’ if you want the comment to be removed, if there is content before it in the same line.
This solution also covers lines beginning with spaces before the comment, like the the op’s does.