명령 줄에서 org 파일의 특정 테이블을 csv로 내보낼 수 있습니까?


19

여러 테이블이있는 org 파일이 있습니다.

$ cat ~/foo.org
#+Title: hello world

* section 1

lorem ipsum

#+TBLNAME: first-table
| i      | want | to    |
| export | this | table |

#+TBLNAME: second-table
| this | table | is        |
| not  | as    | important |

이 파일은 정기적으로 업데이트됩니다. 에 csv발행 M-x org-table-export하여 얻은 파일 을 구문 분석하는 perl 스크립트가 first-table있습니다. first-table명령 줄에서 csv 로 내보낼 수 있기를 원할 때마다 수동으로 할 필요가 없습니다. 이게 가능해?


1
Org 파일에서 테이블의 내용을 얻으려면 (org-babel-ref-resolve "first-table")테이블을 목록으로 제공 한 다음 orgtbl-to-csv해당 목록 을 호출 하십시오. orgtbl-to-csv추가 인수 에 대해서는 설명서를 참조하십시오 . 그런 다음 배치 모드에서 Emacs를 실행하여 --eval또는 -f옵션을 사용하여 기능을 실행할 수 있습니다.
wvxvw

답변:


24

테이블을 찾아서 org-table-export내보내는 데 사용할 수 있습니다. 함수를 파일에 넣고로드 한 후 일괄 내보내기 할 수 있습니다. 이 같은 것 :

setup.el :

(require 'org)

(defun my-tbl-export (name)
  "Search for table named `NAME` and export."
  (interactive "s")
  (show-all)
  (let ((case-fold-search t))
    (if (search-forward-regexp (concat "#\\+NAME: +" name) nil t)
    (progn
      (next-line)
      (org-table-export (format "%s.csv" name) "orgtbl-to-csv")))))

그런 다음 예제 파일을 사용하여 다음과 같이 일괄 내보내기를 수행 할 수 있습니다.

$ emacs --batch foo.org -l setup.el --eval '(my-tbl-export "first-table")'

테이블에 대한 나의 검색은 약간 조잡하지만 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.