Hi Charles, Thomas, Thank you for the replies. They were very useful. I learned about :post for the first time. That minimal example worked great. Earlier I was confused about "*this*", but then from Info node "(org) post", I learned that it's a special variable for :post. For now, ":results verbatim" does the job for me for awk source blocks. But :post looks like a very powerful generic solution. With your reply, I at least tried it out and I will keep that in mind for when I might need to use it in future. Kaushal On Sun, Jun 12, 2016 at 5:02 PM Charles C. Berry wrote: > TL;DR: That is almost correct. `:post' header arg gives fine control of > formatting if needed. > > `org-babel-insert-result' formats anything that isn't a string or a list > using "%S". Then it tries hard to turn a list into a "table". Lists that > cannot be made into tables are formatted as strings with "%s\n". However, > various languages have their own formatting principles, so what > `org-babel-insert-result' gets as the `result' is a bit idiosyncratic. > > You can get a deeper look at the `result' by pretty printing it with the > aid of a :post header arg. Example: > > > #+NAME: I-feel-pretty > #+BEGIN_SRC emacs-lisp :results pp > *this* > #+END_SRC > > This elisp list is not revised: > > #+BEGIN_SRC emacs-lisp :post I-feel-pretty > '(a b c (d . e)) > #+END_SRC > > #+RESULTS: > : (a b c > : (d . e)) > > On Sun, 12 Jun 2016, Thomas S. Dye wrote: > I think I'm correct to say that by default a single value result is > output as a scalar, and everything else is converted to an Org mode > table. > -- -- Kaushal Modi