John Kitchin <jkitc...@andrew.cmu.edu> writes: > 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? >>
IIUC, org-babel-execute-buffer is exactly what the OP needs. -- Nick