2017-06-27 22 views
0

私はFreeBSDサーバを使用しています。ここではbashはありません。どのようにコマンドを配列に保存できますか? Iveはコマンドを受け取りましたgrep '<description' amitOrServer.xml | cut -f2 -d">" | cut -f1 -d"<"アレイのコマンド出力を保存

xmlファイルから<description />に変数を保存しようとしています。 XMLファイルには、次のようになります。

<amitOrServer> 
<item> 
    <title>AMIT</title> 
    <description>DISABLE</description> 
</item> 
<item> 
    <title>GPS</title> 
    <description>DISABLE</description> 
</item> 
</amitOrServer> 

私はシェルスクリプトで、後でそれで動作するように変数にDISABLEパラメータを保存する必要があります。

変数をパラメータに保存するスクリプト。私は構文エラーなどのエラーを持っている

#!/bin/sh 

    chosenOne=($(grep '<description' amitOrServer.xml | cut -f2 -d">" | cut -f1 -d"<")) 
    amit= "$chosenOne[$1]" #"ENABLE" 
    gps= "$chosenOne[$2]" #"DISABLE" 

:単語予期しない(期待「)」) は、誰もが、私は、アレイ内のXMLファイルからこれらのパラメータを保存することができますどのように、私を助けることができますか?

+0

はhttps://unix.stackexchange.com/questionsで提供詳細を確認/ 137566/in-unix-bourne-shell – Fidel

+0

また 'pkg install bash'を実行することもできます。 – arrowd

+0

あなたの答えはフィデルにありがとうございます。それは本当に私を助けた – Hanka

答えて

0

はこれに試してみて:あなたのpythonを持っている場合は

#!/bin/sh 

AMIT=$(grep AMIT -A1 items.xml | awk -F '[<>]' '/description/{print $3}') 
GPS=$(grep GPS -A1 items.xml | awk -F '[<>]' '/description/{print $3}') 

echo ${AMIT} 
echo ${GPS} 

を、これもまた働くことがあります。

from xml.dom import minidom 

xmldoc = minidom.parse('items.xml') 
itemlist = xmldoc.getElementsByTagName('item') 

out = {} 
for i in itemlist: 
    title = i.getElementsByTagName('title')[0].firstChild.nodeValue 
    description = i.getElementsByTagName('description')[0].firstChild.nodeValue 
    out[title] = description 

print out 
print out["AMIT"] 
print out["GPS"] 
関連する問題