仅当使用 sed 为空时才删除文件的第一行

仅当使用 sed 为空时才删除文件的第一行

我对此有一个解决方案awk

awk '{if (NR==1 && NF==0) next};1' somefile

但无法找到一个可以在sed.例如,

sed -i.bak '/^$/{1,1d;}' somefile

最终删除了它找到的第一个空白行(我不是专家sed,所以我只是尝试一下)。在这种情况下的优点sed是我可以在没有临时文件的情况下执行此操作。即就位。

答案1

试试这个:

sed '1{/^$/d}' file

答案2

替代:

sed '0,/^$/d' 文件

作为一个大胆的猜测,您可能想要删除第一行之前的所有空白行(包含任何字符),如果是这种情况,我们可以尝试以下操作:

sed '1,/^$/d' 文件

相关内容