【发布时间】:2011-01-31 10:29:37
【问题描述】:
我想使用 sed 从文件中获取最后一个非空行。我能够使用两个流水线 sed 达到预期的结果:
$ echo -e "\n\none\n\ntwo\n\n\nthree\n\n" | sed '/^$/d' | sed -n '$p'
three
但是,我想知道是否可以仅使用一个 sed 命令来获得它。也许通过将每个非空白行一个接一个地复制到缓冲区,覆盖以前的内容并在最后打印缓冲区?我不确定它是否可以在 sed 中完成,这只是我的猜测。
请不要建议我使用 awk、tail 等 - 我只对 sed 感兴趣。谢谢。
【问题讨论】: