0
我有一個像下面使用shell腳本
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<weekly-schedule>
<week>
<game date="2015-09-10 17:30 PDT" start="Friday">
<outcome outcome="pregame"/>
<id>SP003188020000</id>
</game>
<game date="2015-09-13 10:00 PDT" start="Sunday">
<outcome outcome="pregame"/>
<id>SP003188030000</id>
</game>
<game date="2015-09-13 10:00 PDT" start="Monday">
<outcome outcome="pregame"/>
<id>SP003188030000</id>
</game>
</week>
</weekly-schedule>
</root>
我想刪除這個XML這是開始=「星期一」,並開始=所有的遊戲節點示例XML文件中刪除特定的XML節點「星期五」 然後我想更新xml文件而不用上面的遊戲。我怎樣才能做到這一點?
下面是我的腳本(可以是bash),我想在不使用xmlstarlet
的情況下執行此操作。
#!/bin/sh
DIR=/users/Desktop/data
FILE=games.xml
cd $DIR
# tried to use xmllint
DAY=$(echo "cat //root/weekly-schedule/week/game/@start" | xmllint --shell $FILE)
echo DAY
這對我來說這'awk'命令沒有工作是我的shell腳本。 '#!/ bin/sh DIR =/users/Desktop/data FILE = games.xml cd $ DIR awk'//{skip=1 ;} 1 {if(!skip)print;}/<\/game>/{skip = 0}'games.xml> newfile.xml && mv newfile.xml games.xml' –
Neero
我有多個節點,其中start =「Thursday」並開始=「星期一」是否這是不起作用的原因? – Neero
@Jotne你有什麼建議嗎?謝謝 – Neero