1
ファイルを読み込んで要素を配列に格納するシェルスクリプトを作成しました。Bashスクリプト - 配列から少数のアイテムを削除する
今、私は</
を持つ配列からいくつかの要素を削除したいと思います。
私のxmlファイル:
<Execution_Stats>
<Total_Executions>1</Total_Executions>
<Total_Errors>0</Total_Errors>
<SQL_Analysis>
<NOT_COMPARED>1</NOT_COMPARED>
<MATCHED>0</MATCHED>
<NOT_MATCHED>0</NOT_MATCHED>
<ERROR>0</ERROR>
</SQL_Analysis>
<Data_Analysis>
<NOT_COMPARED>0</NOT_COMPARED>
<MATCHED>0</MATCHED>
<NOT_MATCHED>1</NOT_MATCHED>
<ERROR>0</ERROR>
</Data_Analysis>
<Graph_Analysis>
<NOT_COMPARED>1</NOT_COMPARED>
<MATCHED>0</MATCHED>
<NOT_MATCHED>0</NOT_MATCHED>
<ERROR>0</ERROR>
</Graph_Analysis>
<Excel_Analysis>
<NOT_COMPARED>1</NOT_COMPARED>
<MATCHED>0</MATCHED>
<NOT_MATCHED>0</NOT_MATCHED>
<ERROR>0</ERROR>
</Excel_Analysis>
<Pdf_Analysis>
<NOT_COMPARED>1</NOT_COMPARED>
<MATCHED>0</MATCHED>
<NOT_MATCHED>0</NOT_MATCHED>
<ERROR>0</ERROR>
</Pdf_Analysis>
</Execution_Stats>
シェルスクリプト:
#!/bin/bash
txt=($(grep '_Analysis' "results.xml"))
unset(txt[1])
unset(txt[3])
unset(txt[5])
unset(txt[7])
unset(txt[9])
が、私は予想通り、私は結果を取得しておりません。
私は
txt[0]=SQL_Analysis
txt[1]=Data_Analysis
txt[2]=Graph_Analysis
txt[3]=Excel_Analysis
txt[4]=PDF_Analysis
のような出力を見たいけど
txt[0]=SQL_Analysis
txt[1]=
txt[2]=Data_Analysis
txt[3]=
txt[4]=Graph_Analysis
txt[5]=
txt[6]=Excel_Analysis
txt[7]=
txt[8]=PDF_Analysis
txt[9]=
または私はファイルから</
で始まる任意のテキストを選択することができない方法があるかどうかを取得しますか?
XMLを解析するXMLパーサを使用してください。 – miken32
あなたは 'grep '<[A-Z]。* _ Analysis' results.xml'を試すことができます – janos