如何将 XML 个文件的目录转换为 RRD 文件
How to convert a directory of XML files in to RRD Files
我需要从我现有的 xml 文件中恢复 rrd 文件。所以我使用了以下简单的 bash 脚本。
#!/bin/bash
for i in /home/dump_xml/*.xml;
do
rrdtool restore $i /home/rrd_new/"${i%.xml}".rrd;
done
由于这个错误,我无法执行以下脚本,
ERROR: Could not create xml reader for: /home/dump_xml/*.xml
但我可以一个一个地恢复文件。有人可以帮我解决这个问题吗?
当您使用时:
for i in /home/dump_xml/*.xml
do
echo "$i"
done
你会看到 $i 等于:
- /home/dump_xml/a.xml
- /home/dump_xml/b.xml
你看,它包含路径。因此,您的 rddtool
将尝试将结果写入 /home/dump_xml/home/dump_xml/a.rrd
。
你必须做的:
#!/bin/bash
for i in xml/*.xml
do
filename=$(basename "$i")
rrdtool restore "$i" /home/rrd_new/"${filename%.xml}".rrd;
done
不要忘记 double-quote 你的变量扩展。