首页 > 解决方案 > sed 脚本删除空行之前的行

问题描述

我有一个看起来像这样的文件:

name:height:weight

janice:120:209
mark:150:349
ray:90:204
elle:140:129

----------

我想编写一个 sed 脚本,~在文件的开头+结尾以及每个人输入之前和之后添加一行,如下所示:

~
name:height:weight

~
janice:120:209
~
mark:150:349
~
ray:90:204
~
elle:140:129
~

----------
~

我当前的脚本和输出看起来像这样,但我不知道如何在每个人条目之间添加“~”:

1i ~
$a ~
~
name:height:weight

janice:120:209
mark:150:349
ray:90:204
elle:140:129

----------
~

标签: regexlinuxsed

解决方案


这与您的输出不完全匹配,但它确实符合我在评论中描述的内容并且您确认是您想要的内容:

awk '/./ && !/^---/{print "~"}1; END{print "~"}' input

根据您的实际要求进行调整。


推荐阅读