在ksh中使用sed删除空字符串

时间:2013-04-20 21:12:47

标签: sed

我有一个命令,其输出为:

""
"D"
"M"
"N"

我想删除第一个空字符串,所以:

<command> |sed 's/^""$/d'

但是贝壳告诉我:

sed: 0602-404 Function s/^""$/d cannot be parsed.

那么,我应该用sed命令删除双引号括起来的空字符串?

2 个答案:

答案 0 :(得分:1)

试试这个,你错过了一个引用,你不应该使用s///形式:

<command> | sed '/^""$/d'

根据您的评论,如果您只需要处理第1行:

<command> | sed '1{/^""$/d}'

d形式允许/regex/修饰符,而不是s///替换形式。

答案 1 :(得分:0)

sed -n 'H
$ {x;s/""\n/²/1;s/.*²//;p;}' YourFile

使用临时标记²(或任何其他未使用/特殊正则表达式字符)