Как я могу создать таблицу с заголовками столбцов из вывода оболочки org-babel?
Я пытаюсь добавить заголовки к этому:
#+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 |
Трудность, с которой я столкнулся, заключается во введении второй строки. Это не работает:
#+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 |
Также я не могу просто использовать пустую строку, как предлагается здесь:
#+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 |
Любые намеки с благодарностью!
1 ответ
Решение
Я думаю :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