[英]How to xmlstarlet on multiple files in different paths?
我正在使用C Shell。
我的工作目錄:
cd /mnt/FusionOATS/CRM/Research/rys/
我的當前工作xmlstarlet命令(對直接在工作目錄下的2個文件執行xmlstarlet操作,並將結果粘貼到輸出文本文件中):
foreach xmlfile ( ResultReport1.xml ResultReport2.xml )
xmlstarlet sel -t -m '//RESULT_STEP' -v '@time_stamp' -o '|' -v '@step_name' --nl "$xmlfile" >> /scratch/rys/view_storage/outroo3.txt
end
現在,我需要在以下不同路徑的文件上執行此操作:
工作目錄/ResultReport1.xml
工作目錄/ResultReport.xml
工作目錄/Test3/ResultReport3.xml
我嘗試了這個:
foreach xmlfile ( ResultReport1.xml ResultReport2.xml /Test3/ResultReport3.xml )
xmlstarlet sel -t -m '//RESULT_STEP' -v '@time_stamp' -o '|' -v '@step_name' --nl "$xmlfile" >> /scratch/rys/view_storage/outroo4.txt
end
但是,出現以下錯誤:
無法加載外部實體“ /Test3/ResultReport2.xml”
我可以用xmlstarlet做到嗎? 請提出建議。 謝謝。
只需在文件路徑的開頭刪除斜杠即可解決該錯誤:
這工作:
foreach xmlfile ( ResultReport1.xml ResultReport2.xml Test3/ResultReport2.xml )
xmlstarlet sel -t -m '//RESULT_STEP' -v '@time_stamp' -o '|' -v '@step_name' --nl "$xmlfile" >> /scratch/rys/view_storage/outroo4.txt
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.