我正在尝试为此添加标题:
#+BEGIN_SRC sh :dir ~ :results table
for n in 1 2 3 4; do
echo $n $(($n * $n))
done
#+END_SRC
结果是:
#+RESULTS:
| 1 | 1 |
| 2 | 4 |
| 3 | 9 |
| 4 | 16 |
我想要的输出是:
#+RESULTS:
| N | N*N |
|---+-----|
| 1 | 1 |
| 2 | 4 |
| 3 | 9 |
| 4 | 16 |
我遇到的困难是注入(inject)第二条线。这不起作用:
#+BEGIN_SRC sh :dir ~ :results table
echo "N N**2"
echo "|-"
for n in 1 2 3 4; do
echo $n $(($n * $n))
done
#+END_SRC
这导致:
#+RESULTS:
| N | N**2 |
| | - |
| 1 | 1 |
| 2 | 4 |
| 3 | 9 |
| 4 | 16 |
我也不能只使用空行,如建议 here :
#+BEGIN_SRC sh :dir ~ :results table
echo "N N**2"
echo
for n in 1 2 3 4; do
echo $n $(($n * $n))
done
#+END_SRC
因为这导致:
#+RESULTS:
| N | N**2 |
| | |
| 1 | 1 |
| 2 | 4 |
| 3 | 9 |
| 4 | 16 |
非常感谢任何提示!
最佳答案
我认为 :results org
是您要查找的内容,然后使您的代码输出您自己键入的内容作为带有分隔符的表格(引用以保护外壳)
#+BEGIN_SRC sh :dir ~ :results org
echo "|N|N**2"
echo "|-"
for n in 1 2 3 4; do
echo "|" $n "|" $(($n * $n))
done
#+END_SRC
这产生了这个(emacs 25.1.50.1,org 8.3.3):
#+RESULTS:
#+BEGIN_SRC org
| N | N**2 |
|---+------|
| 1 | 1 |
| 2 | 4 |
| 3 | 9 |
| 4 | 16 |
#+END_SRC
关于org-babel - 如何从 org-babel shell 输出中生成带有列标题的表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34950757/