0

ファイルからデータを取り出して変数として設定するバッチ ファイルを作成しようとしています。

トリッキーな部分は、XML ファイルを読み取る必要があることです。次の行の引用符の間のデータのみが必要です...

narrative="I only need this text here"

その行のテキストには、スペース、括弧、スラッシュ、ダッシュ、およびコロンも含めることができます。

サンプル XML ファイル:

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
    <cadcall>
        <call callnumber="123456" jurisdiction="abcd" department="dept 1" complaint="cost" priority="M" calltencode="" callername="Persons Name" phonenumber="Cell Number HERE" narrative="[10/02/2012 14:56:27 : pos9 : PERSON] Fairly long narrative here describing issue of dispatch, but sometimes these can be short." alarmtype="" ocanumber="0000000000" disposition1="TRAN" />
    </cadcall>
4

2 に答える 2

1

これを行うための適切なツールはxmllintからのものですlibxml。より完全な XML の例を提供してください。 でXpathリクエストを使用する方法を説明しますXML

編集

ここでは、Xpath を使用したソリューションを示します (少しハックします:) contains:

xmllint --xpath '/cadcall/call/@narrative[contains(.,'.')]' file.xml
于 2012-10-19T14:43:53.307 に答える
0

あなたの例の行に基づいて、完全な入力を見ることなく。grep はあなたのために働きます。

kent$  echo 'narrative="I only need this text here"'|grep -Po '(?<=narrative=")[^"]*'
I only need this text here
于 2012-10-19T14:52:45.393 に答える