我想将jobStatus中的percentComplete值放在一个变量中,以便稍后在shell脚本中使用。此数据进入txt文件并不断打印这两段更新数据。我希望能够获得percentComplete。我有cat文件,但我不知道用于获取percentComplete的正则表达式(jobStatus中的那个)。
<batchStatus name="" submissionTime="1/23/12 10:00:26 AM" sentBy="mike"
timeElapsed="43 second(s)" timeRemaining="4 minute(s)" timeElapsedSeconds="43"
timeRemainingSeconds="294" percentComplete="12" resumePercentComplete="0"
status="Processing" batchid="FD66DC21-6AA4-47FB-A3F0-7300C7BDAB8A" /batchStatus>
<jobStatus name="file.mov" submissionTime="1/23/12 10:00:26 AM" sentBy="mike"
jobType="Compressor" priority="HighPriority" timeElapsed="43 second(s)"
timeRemaining="4 minute(s)" timeElapsedSeconds="43" timeRemainingSeconds="294"
percentComplete="12" resumePercentComplete="0" status="Processing: Transcoding"
jobid="FDF1A488-51B9-4B9A-908B-FD5D95CE7E92"
batchid="FD66DC21-6AA4-47FB-A3F0-7300C7BDAB8A" /jobStatus>
答案 0 :(得分:1)
使用正则表达式是一个非常糟糕的主意,使用XML解析器会更开心。
如果您仍想:
<jobStatus[^>]*percentComplete="([\d]+)"
答案 1 :(得分:1)
使用正则表达式解析XML是个坏主意。正则表达式不够强大,因为XML不是常规语言。