org-mode有趣的事

數(shù)據(jù)格式化(:wrap)

json格式化

#+BEGIN_SRC sh :results code :wrap SRC js :exports both
  curl http://httpbin.org/get
#+END_SRC

#+RESULTS:
#+BEGIN_SRC js
{
  "args": {},
  "headers": {
    "Accept": "*/*",
    "Connection": "close",
    "Host": "httpbin.org",
    "User-Agent": "curl/7.47.0"
  },
  "origin": "180.167.20.58",
  "url": "http://httpbin.org/get"
}
#+END_SRC

其他格式化

#+BEGIN_SRC sh :wrap QUOTE :results raw :exports both
  date
#+END_SRC

#+RESULTS:
#+BEGIN_QUOTE
Fri Nov  3 23:05:34 CST 2017
#+END_QUOTE

變量設(shè)置在Header中

** 變量設(shè)置在Header中
   :PROPERTIES:
   :ID:       d7b197d7-f925-47b7-bcc0-37e182761619
   :header-args:shell: :var host="google.com" :results pp :session brantou :exports both
   :END:
   #+BEGIN_SRC shell
     ping $host -c 2
   #+END_SRC

   #+RESULTS:
   :
   : $ PING google.com (192.168.83.230) 56(84) bytes of data.
   : 64 bytes from 192.168.83.230: icmp_seq=1 ttl=128 time=9.60 ms
   : 64 bytes from 192.168.83.230: icmp_seq=2 ttl=128 time=25.4 ms
   :
   : --- google.com ping statistics ---
   : packet loss, time 1001ms
   : rtt min/avg/max/mdev = 9.609/17.508/25.408/7.900 ms

   覆蓋變量 *host* 和 *session* 置為空!
   #+BEGIN_SRC shell :var host="baidu.com" :session none
     ping $host -c 2
   #+END_SRC

   #+RESULTS:
   : PING baidu.com (111.13.101.208) 56(84) bytes of data.
   : 64 bytes from 111.13.101.208: icmp_seq=1 ttl=128 time=35.5 ms
   : 64 bytes from 111.13.101.208: icmp_seq=2 ttl=128 time=49.2 ms
   :
   : --- baidu.com ping statistics ---
   : 2 packets transmitted, 2 received, 0% packet loss, time 1002ms
   : rtt min/avg/max/mdev = 35.517/42.361/49.206/6.847 ms

結(jié)果的預(yù)處理(:post)

#+NAME: img_wrap
#+BEGIN_SRC python :var img_path="" :results output
  img_path=img_path.replace('[[file:..', '').replace(']]', '')
  print('<img src="'+img_path+'" />')
#+END_SRC

#+HEADER: :file ../images/devOps/just-try-post.png :exports both
#+BEGIN_SRC plantuml :mkdirp yes :post img_wrap(img_path=*this*) :wrap EXPORT html
  @startuml
  cli -> serv:  auth req
  serv --> cli: auth res
  @enduml
#+END_SRC

#+RESULTS:
#+BEGIN_EXPORT html
<img src="/images/devOps/just-try-post.png" />
#+END_EXPORT

noweb的引用(:noweb-ref)

#+HEADER: :tangle ../src/devOps/noweb_ref.sh :mkdirp yes
#+BEGIN_SRC shell :noweb yes :shebang #!/bin/sh
  <<fullest-disk>>
#+END_SRC

** the mount point of the fullest disk
   :PROPERTIES:
   :header-args:shell: :noweb-ref fullest-disk
   :END:

*** query all mounted disks
    #+BEGIN_SRC shell
        df \
    #+END_SRC
*** strip the header row
    #+BEGIN_SRC shell
        |sed '1d' \
    #+END_SRC
*** sort by the percent full
    #+BEGIN_SRC shell
        |awk '{print $5 " " $6}' | sort -n | tail -1 \
    #+END_SRC
*** extract the mount point
    #+BEGIN_SRC shell
      |awk '{print $2}'
    #+END_SRC

tangle出的代碼如下:

#!/bin/sh
df \
|sed '1d' \
|awk '{print $5 " " $6}' | sort -n | tail -1 \
|awk '{print $2}'

預(yù)處理/后置操作(:prologue/:epilogue)

在做相關(guān)操作時(shí)诅挑,可能需要預(yù)先初始化,同時(shí)又不想這些初始化過程出現(xiàn)在代碼流程中,
這個(gè)時(shí)候你可使用 *:prologue* 來關(guān)聯(lián)相關(guān)語(yǔ)句來達(dá)到預(yù)處理的效果。
#+NAME: prologue-example
#+BEGIN_SRC shell :prologue "echo yep; exit 0" :exports both
  echo "nope"
#+END_SRC

#+RESULTS: prologue-example
: yep

*:epilogue* 正好和 *:prologue* 完成的功能相反薄料,用于后置處理黑界,完成清理工作。
#+BEGIN_SRC shell :epilogue "exit 0; echo yep" :exports both
  echo "nope"
#+END_SRC

#+RESULTS:
: nope

批量執(zhí)行

可在命令行中調(diào)用代碼塊實(shí)現(xiàn)的函數(shù)地技,如下面所示:

#!/bin/sh
# -*- mode: shell-script -*-
#
# tangle files with org-mode
#

DIR='pwd'
FILES=""
# wrap each argument in the code required to call tangle on it
for i in $@; do
    FILES="$FILES \"$i\""
done

emacs -Q --batch \
      --eval "(progn
(require 'org)(require 'ob)(require 'ob-tangle)
(mapc (lambda (file)
       (find-file (expand-file-name file \"$DIR\"))
       (org-babel-tangle)
       (kill-buffer)) '($FILES)))" 2>&1 | grep tangled

連接mysql

#+BEGIN_SRC sql
  show tables;
#+END_SRC

#+RESULTS:
| Tables_in_mysql           |
|---------------------------|
| columns_priv              |
| db                        |
| engine_cost               |
| event                     |
| func                      |
| general_log               |
| gtid_executed             |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| innodb_index_stats        |
| innodb_table_stats        |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| server_cost               |
| servers                   |
| slave_master_info         |
| slave_relay_log_info      |
| slave_worker_info         |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |

#+BEGIN_SRC sql
  SELECT host, user FROM user WHERE 1;
#+END_SRC

#+RESULTS:
| host      | user             |
|-----------+------------------|
| %         | brantou          |
| localhost | debian-sys-maint |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市浴骂,隨后出現(xiàn)的幾起案子乓土,更是在濱河造成了極大的恐慌,老刑警劉巖溯警,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件趣苏,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡梯轻,警方通過查閱死者的電腦和手機(jī)食磕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來喳挑,“玉大人彬伦,你說我怎么就攤上這事∫了校” “怎么了单绑?”我有些...
    開封第一講書人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)曹宴。 經(jīng)常有香客問我搂橙,道長(zhǎng),這世上最難降的妖魔是什么笛坦? 我笑而不...
    開封第一講書人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任区转,我火速辦了婚禮,結(jié)果婚禮上版扩,老公的妹妹穿的比我還像新娘废离。我一直安慰自己,他們只是感情好礁芦,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開白布蜻韭。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪湘捎。 梳的紋絲不亂的頭發(fā)上诀豁,一...
    開封第一講書人閱讀 52,158評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音窥妇,去河邊找鬼舷胜。 笑死,一個(gè)胖子當(dāng)著我的面吹牛活翩,可吹牛的內(nèi)容都是我干的烹骨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼材泄,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼沮焕!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起拉宗,我...
    開封第一講書人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤峦树,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后旦事,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體魁巩,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年姐浮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了谷遂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡卖鲤,死狀恐怖肾扰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蛋逾,我是刑警寧澤集晚,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站区匣,受9級(jí)特大地震影響甩恼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜沉颂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望悦污。 院中可真熱鬧铸屉,春花似錦、人聲如沸切端。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至昌屉,卻和暖如春钙蒙,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背间驮。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工躬厌, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人竞帽。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓扛施,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親屹篓。 傳聞我的和親對(duì)象是個(gè)殘疾皇子疙渣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)堆巧,斷路器妄荔,智...
    卡卡羅2017閱讀 134,693評(píng)論 18 139
  • 【MySQL】Linux下MySQL 5.5谣沸、5.6和5.7的RPM刷钢、二進(jìn)制和源碼安裝 1.1BLOG文檔結(jié)構(gòu)圖 ...
    小麥苗DB寶閱讀 10,558評(píng)論 0 31
  • 石麗麗YS17016 【連續(xù)九天打卡】 A、今日完成情況 @信念 3遍 完成100% @繞口令3遍 完成10...
    lily你好閱讀 140評(píng)論 4 6
  • 歐文要離開了乳附? 這個(gè)夏天真是跌宕起伏内地,堪稱最好看的一季休賽期。先是泡椒去哪兒赋除,而后保羅離隊(duì)阱缓,再后來...
    麋鹿先生Milu閱讀 339評(píng)論 2 3
  • 怎么可以不愛你 ——這是一封給啟航話劇社的表白信 2016年12月10日,周六晚六點(diǎn)举农,南苑體育館荆针,啟航十五周...
    歲往閱讀 214評(píng)論 0 0