perl + sed + 删除以“#”开头的行

perl + sed + 删除以“#”开头的行

请指教

我有 linux 和 solaris 机器,我需要在两个操作系统上都能运行的命令

我使用以下 perl 行来删除所有以“#”开头的行,为什么 perl 命令不起作用,

备注 - 还需要支持以空格或 TAB 开头然后是“#”的行

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

   more file


   # aa a
       #  bbb 

      #xxx

答案1

这在 Linux 上可以工作,在 Solaris 上也可以工作

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

编辑:如果不支持 \s 也许这会起作用......

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

要在文件中执行此操作,只需添加-i命令

如果你不想在结果中出现连续的多个空行,只需通过管道uniq

相关内容