Linux

perl + sed + 刪除以“#”開頭的行

  • November 18, 2012

請指教

我有 linux 和 solaris 機器,我需要在這兩種作業系統上都可以使用的命令

我使用以下 perl 行來刪除所有以“#”開頭的行,為什麼 perl 命令不起作用,

備註 - 還需要支持以空格或 TAB 開頭的行,然後是“#”

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

.

  more file


  # aa a
      #  bbb 

     #xxx

這將適用於 linux 也許也適用於 solaris

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

編輯:如果不支持 \s 可能這會工作……

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

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

如果您不希望結果中出現連續的多個空行,只需將其通過管道uniq

引用自:https://serverfault.com/questions/449855