首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sed将用令牌分隔的行合并。

Sed将用令牌分隔的行合并。
EN

Unix & Linux用户
提问于 2018-04-20 13:18:14
回答 1查看 338关注 0票数 2

我正在尝试编写一个脚本,该脚本使用sed处理文本文件中的行,以生成示例文档。我已经完成了大部分的脚本工作,但我被困在一个边缘的情况。考虑以下文件

代码语言:javascript
复制
line-1
line-2, part2
line-3-should-be-a-very-long,
    line-3-continued
line-4

问题是,一些行,但不是所有行,都以一个特殊的标记结尾(恰巧是逗号)。令牌指示应将该行与后面的一行连接起来,以生成一条长行。

因此,在我的示例中,line-3-should-be-a-very-long,应该与line-3-continued连接,以给出line-3-should-be-a-very-long, line-3-continued (我确实想保留逗号)。第2行没有特殊的操作,即使它包含一个逗号,而逗号不在行尾。

其余的处理是通过将几个sedgrep命令组合在一起完成的,因此sed解决方案非常适合。

EN

回答 1

Unix & Linux用户

发布于 2018-04-20 13:37:57

代码语言:javascript
复制
sed '/,$/{N;s/\n[[:blank:]]\+/ /}' file

当您看到一行以逗号结尾时,请在下一行中阅读,然后用单个空格替换下一行的换行符和前导空格。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/438937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档