xmlファイルがあって、簡単に必要な情報を引き出したい。
コマンドレベルで簡単に引き出せるのがこの xmllint

例えば、TORQUE pbsにて<jobid>が123の実行ノード(<exec_host>)を切り出してみる。

「qstat -x <jobid>」でXML形式で詳細な出力が得られる。これをファイル(123.xml)に落として、
それからこの「xmlling」を使って実行ノード(<exec_host>)部分を切り出してみる

[illya@c ~]$ qstat -x 123 > 123.xml
 
[illya@c ~]$ xmllint --shell 123.xml        <-- 確認: 手動で拾ってみる
/ > 
/ > cat /Data/Job/exec_host
 -------
<exec_host>s.sybyl.local/0+s.sybyl.local/1</exec_host>
/ >
 
[illya@c ~]$ echo "cat /Data/Job/exec_host" |  xmllint --shell xml | grep exec_host | sed -e 's/<[^>]*>//g'
s.sybyl.local/0+s.sybyl.local/1
 
[illya@c ~]$
[illya@c ~]$ echo "cat /Data/Job/exec_host" |  xmllint --shell xml | grep exec_host | \
sed -e 's/<[^>]*>//g' | sed -e 's/\+/\n/g'
s.sybyl.local/0
s.sybyl.local/1
 
[illya@c ~]$ echo "cat /Data/Job/exec_host" |  xmllint --shell xml | grep exec_host | \
sed -e 's/<[^>]*>//g' | sed -e 's/\/[0-9]*//g' | sed -e 's/\+/\n/g'
s.sybyl.local
s.sybyl.local
 
[illya@c ~]$

トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2017-10-10 (火) 01:45:39 (12d)