I think one of these will do what you want:

** Rerun all src blocks

#+BEGIN_SRC emacs-lisp
(defun run-blocks ()
  (interactive)
  (save-excursion
    (org-element-map (org-element-parse-buffer) 'src-block
      (lambda (src-block)
        (goto-char (org-element-property :begin src-block))
        (org-babel-execute-src-block)))))


#+END_SRC

#+RESULTS:
: run-blocks


#+BEGIN_SRC emacs-lisp
(defun run-blocks-2 ()
  (interactive)
  (save-excursion
    (goto-char (point-min))
    (while (re-search-forward "^#\\+BEGIN_SRC" nil t)
      (org-babel-execute-src-block))))
#+END_SRC
#+RESULTS:





Shakthi Kannan writes:

> Hi,
>
> Is there a way to execute all the org-mode code blocks in a file, and
> send the output to stdout?
>
> For example, I have the following org file:
>
> === BEGIN ===
>
> * Greeting
>
> #+BEGIN_SRC sh :results output
>   echo "Hello $USER! Today is `date`"
> #+END_SRC
>
> * Current directory
>
> #+BEGIN_SRC sh :results output
>   pwd
> #+END_SRC
>
> === END ===
>
> I could go to each code block, and type C-c C-c to produce an output.
> But, I just want to be able to execute the entire file, and produce
> one single output.
>
> Is this possible?
>
> SK

--
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu

Reply via email to