Linux – perl + sed + remove lines that start with “#”

linuxperlsedshell-scriptingsolaris

please advice

I have linux and solaris machines, and I need command that work on both OS

I use the following perl line in order to remove all lines that start with "#"
why perl command not work ,

remark – need to support also lines that start with space or TAB and then "#"

 perl -i -pe 'next if /^ *#/' file

.

   more file


   # aa a
       #  bbb 

      #xxx

Best Answer

this will work on linux maybe also on solaris

sed -e '/^\s*#/d' file

EDIT: If \s is not supported maybe this will work...

sed -e '/^[ \t]*#/d' file

To do that in file just add -i to the command

If you don't want consecutive multiple blank lines in the result, just pipe it through uniq

Related Topic