I solved my own problem. Here is the complete code:
#+NAME: ansi-escape-filter #+begin_src emacs-lisp :var data="" (with-temp-buffer (insert data) (ansi-color-apply-on-region (point-min) (point-max)) (buffer-substring-no-properties (point-min) (point-max))) #+end_src #+begin_src sh :dir /sudo:: :post ansi-escape-filter(data=*this*) :results output sudo tree /var/spool/postfix/ #+end_src #+RESULTS[<2019-01-19 11:12:30> b3add6b3fce7b13d8c63ef78d92b311cc919d300]: #+begin_example /var/spool/postfix/ ├── active ├── bounce ├── corrupt ├── defer │ ├── 6 │ ├── 8 │ ├── A │ ├── B │ │ └── BDD0D201C2A │ ├── D │ └── F ├── deferred │ ├── 6 │ ├── 8 │ ├── A │ ├── B │ ├── D │ └── F ├── flush ├── hold ├── incoming ├── maildrop ├── pid │ ├── master.pid │ ├── unix.bounce │ ├── unix.cleanup │ ├── unix.defer │ ├── unix.showq │ └── unix.smtp ├── private │ ├── anvil │ ├── bounce │ ├── defer │ ├── discard │ ├── error │ ├── lmtp │ ├── local │ ├── proxymap │ ├── proxywrite │ ├── relay │ ├── retry │ ├── rewrite │ ├── scache │ ├── smtp │ ├── tlsmgr │ ├── trace │ ├── verify │ └── virtual ├── public │ ├── cleanup │ ├── flush │ ├── pickup │ ├── qmgr │ └── showq ├── saved └── trace 26 directories, 30 files #+end_example -- [ stardiviner ] I try to make every word tell the meaning what I want to express. Blog: https://stardiviner.github.io/ IRC(freenode): stardiviner, Matrix: stardiviner GPG: F09F650D7D674819892591401B5DF1C95AE89AC3