如何删除以#
而非#!/bin/ksh
开头的行?
使用sed -e '/^#/ d' sed.sh
将删除包含#!/bin/ksh
的每一行。
答案 0 :(得分:0)
Thanks @Daniel H
sed -e '/#!\/bin\/ksh/p' -e '/^#/d' sed.sh
这是给出我正在寻找的结果的命令:
答案 1 :(得分:0)
像这样:
sed '/^#/{/^#!\/bin\/ksh/d}' sed.sh
对于以#
开头的所有行,如果它们不以#!/bin/ksh
开头,请将其删除。
由于评论(和shebang行)可能在前面有空格,因此更精确的是
sed '/^[[:space:]]*#/{/^[[:space:]]*#![[:space:]]*\/bin\/ksh/d}' sed.sh