regex - sed 脚本删除空行之前的行

标签 regex linux 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

----------
~

最佳答案

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

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

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

关于regex - sed 脚本删除空行之前的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62903762/

相关文章:

c++ - C/C++ Linux下可登录telnet服务器的telnet库

linux - 为什么即使我没有运行 nginx,也可以使用 Nginx 欢迎页面?

awk - 使用 AWK 或 SED 获取每一行的第一个词?

javascript替换由特殊字符组成的字符串

安卓版本及其内核

c# - 删除 "[ ]"和字符串中出现的所有内容

regex - 在 sed 中使用通配符

linux - 使用 sed 或 awk 搜索包含特殊字符的行

c# - 正则表达式仅在其长度大于值时才匹配模式

javascript - 下划线前后的正则表达式匹配字符