命令行友好的电子表格

Ser*_*gey 24 command-line text-processing csv

这样的事情存在吗?在 CLI 环境中显示良好的基于​​文本的电子表格。我知道我可以随心所欲地cat foobar.csv做,但这并不是特别实用或有吸引力。我无法想象格式化表格会很困难,并且可能也遵循某些规则(数学?)。

Emacs 可以org-mode很好地处理基于文本的表格,并允许导出为多种格式。但是,必须使用 Emacs!作为 Vim 用户,我更愿意避免这种情况。

Ulr*_*arz 15

scoleo(我都没有任何经验)。然而,作为一个 GNU 项目,oleo 的处理方式比 vimmy 更有可能是 emacsesque。

  • 根据我链接到的文章,`sc` 看起来比 `oleo` 更漂亮。 (6认同)

unh*_*mer 6

我使用并推荐visidata

\n\n

它与 shell \xe2\x80\x93 配合得很好,例如您可以将它粘在管道的末端。如果

\n\n
bzcat foo.bz2|sort|uniq -c|sort -nr | awk -f munge.awk |blah\n
Run Code Online (Sandbox Code Playgroud)\n\n

产生一个 tsv,然后

\n\n
bzcat foo.bz2|sort|uniq -c|sort -nr | awk -f munge.awk |blah|vd\n
Run Code Online (Sandbox Code Playgroud)\n\n

使 tsv 成为一个交互式(如果您认为 ncurses 是交互式的)电子表格,具有绘图、数据透视表和鼠标支持:)

\n\n

visidata 直方图,按 Shift-F

\n\n

您可以使用引用其他列的 Python 表达式添加列,或使用插件扩展它。您可以比较两个 csv

\n\n

您还可以将 vd 中的按键保存到文件中,然后在稍后阶段重新运行它们 \xe2\x80\x93 我有一些脚本可以重新运行分析,然后对其运行 vd 并立即设置所有列浮动并打开频率表,这样我就可以看看这次我是否设法降低了中位数。

\n\n

主页上的文档和教程非常好,但是如果您通过观看比阅读学得更好,那么作者提供了一系列visdata youtube 教程和展示。

\n