请指教
我有 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