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