我正在尝试编写一个脚本,该脚本使用sed处理文本文件中的行,以生成示例文档。我已经完成了大部分的脚本工作,但我被困在一个边缘的情况。考虑以下文件
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行没有特殊的操作,即使它包含一个逗号,而逗号不在行尾。
其余的处理是通过将几个sed和grep命令组合在一起完成的,因此sed解决方案非常适合。
发布于 2018-04-20 13:37:57
sed '/,$/{N;s/\n[[:blank:]]\+/ /}' file当您看到一行以逗号结尾时,请在下一行中阅读,然后用单个空格替换下一行的换行符和前导空格。
https://unix.stackexchange.com/questions/438937
复制相似问题