【发布时间】:2016-01-11 23:49:16
【问题描述】:
我有一个包含段落的输入文本文件,由 3 个空行分隔。示例:
P1
P1
empty line here
empty line here
empty line here
P2
P2
empty line here
empty line here
empty line here
P3
P3
empty line here
empty line here
empty line here
目前我正在使用将这段代码写入 *.awk 文件来获取段落:
BEGIN{ORS=RS="\n\n\n"}
/some text pattern comes here because I dont want to print every paragraph just some of them but in reversed order/
所以我希望输出文件看起来像这样:
P3
P3
empty line here
empty line here
empty line here
P2
P2
empty line here
empty line here
empty line here
P1
P1
empty line here
empty line here
empty line here
所以我想知道是否可以将每个段落打印到输出文件的顶部以获得相反的顺序。有可能吗?
【问题讨论】:
-
你到底为什么要写“这里的空行”而不是空行???现在,如果我们想测试潜在的解决方案,我们需要删除该文本以创建示例输入和预期输出。请注意,只有 gawk 支持多字符 RS 值,POSIX awk 是免费的,它会忽略除第一个字符之外的所有字符。您可能想查看
RS=""。如果您将示例输入和预期输出修复为可按原样测试,其他人可能会查看它。
标签: awk printing reverse text-processing gawk