首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使Groff不打印空行?

如何使Groff不打印空行?
EN

Stack Overflow用户
提问于 2022-09-15 04:06:13
回答 2查看 34关注 0票数 0

已经有一段时间没有在论坛上发帖了。我一直试图在bash或zsh编程语言中找到一种解决方案,它允许我对文件进行cat,以后我可以用文本字符串(包括时间和日期信息)来更新这些文件,以跟踪我正在执行的任务。在这样做的过程中,我开始研究groff的tbl,它生成表。我喜欢groff,但是它的一个问题是它在表前打印了7行空行,然后打印了53行空行。这是table.me文件:

代码语言:javascript
复制
.TS
allbox;
c s s s 
c c c c.
work hours
             
.TE

我向终端显示的命令是:

代码语言:javascript
复制
tbl Documents/tempdir/tmp18=.md| groff -me -T ascii

我在os x Majove 10.14.6的kitty终端上的zsh shell中运行这些命令

这是输出:

代码语言:javascript
复制
+--------------+
| work hours   |
+--+---+---+---+
|  |   |   |   |
+--+---+---+---+

为什么有这么多空白?为什么有这么多新线路?我试着用

代码语言:javascript
复制
tbl Documents/tempdir/tmp18=.md| groff -me -T ascii | sed -e 's/*[  ]*//'

格罗夫总是不断地生产这么多新产品吗?我尝试过使用头和尾来隔离表,但是这种方法的主要问题是在更改表时,我还必须更改头和尾的值。有没有一种方法可以让groff打印到stdout,而不需要这个过程,然后放弃空行呢?

EN

回答 2

Stack Overflow用户

发布于 2022-09-15 04:44:00

我想我没有安装groff (很不幸我在Cygwin atm ),但是.

代码语言:javascript
复制
tbl Documents/tempdir/tmp18=.md | groff -me -T ascii | tr -s ' ' | tr -d '\n'

如果我不知道更好,读这个网站会让我觉得我是唯一一个还记得tr的人,甚至更多的人。

票数 0
EN

Stack Overflow用户

发布于 2022-09-24 15:28:14

Groff填充页面。默认页面是11英寸,所以这是相当多的空白。有几种可能性:

  • 将页面长度设置为较小的值:

代码语言:javascript
复制
.pl 10v

  • 删除所有空行:

代码语言:javascript
复制
tbl t.tbl | groff -mwww -T ascii | sed '/^\s*$/d'

  • 从文件的末尾删除它们:

代码语言:javascript
复制
tbl t.tbl | groff -mwww -T ascii | sed -e :a -e '/^\n*$/{$d;N;ba' -e '}'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73725520

复制
相关文章

相似问题

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