Bash:如何读取目录结构并将其缓存到xml文档中
问题描述:
我需要从文件系统读取目录结构并将其缓存在xml文档中。有人可以建议我如何使用bash做到这一点?我只需要缓存目录/子目录下的文件而不是它们。Bash:如何读取目录结构并将其缓存到xml文档中
该结构是随机生成的,因此不知道每次有多少个节点以及该树的深度有多大。它是分层的,每个级别都包含很多子目录。
任何指导,将不胜感激。
答
不知道什么目标XML应该看起来像,并需要捕捉什么样的信息,这里有一个猜测:
#!/bin/bash.exe
echo $'<?xml version="1.0" encoding="utf-8"?>\n<dirlist>' > directory_list.xml
find . -type d -exec echo "<dir>{}</dir>" \; >> directory_list.xml
echo "</dirlist>" >> directory_list.xml
(该bash.exe是因为我在Cygwin。)
下面是我的氧气 “工具” 目录的列表安装目录:
directory_list.xml
<?xml version="1.0" encoding="utf-8"?>
<dirlist>
<dir>.</dir>
<dir>./.svn</dir>
<dir>./.svn/prop-base</dir>
<dir>./.svn/props</dir>
<dir>./.svn/text-base</dir>
<dir>./.svn/tmp</dir>
<dir>./.svn/tmp/prop-base</dir>
<dir>./.svn/tmp/props</dir>
<dir>./.svn/tmp/text-base</dir>
<dir>./ant</dir>
<dir>./ant/.svn</dir>
<dir>./ant/.svn/prop-base</dir>
<dir>./ant/.svn/props</dir>
<dir>./ant/.svn/text-base</dir>
<dir>./ant/.svn/tmp</dir>
<dir>./ant/.svn/tmp/prop-base</dir>
<dir>./ant/.svn/tmp/props</dir>
<dir>./ant/.svn/tmp/text-base</dir>
<dir>./ant/bin</dir>
<dir>./ant/etc</dir>
<dir>./ant/etc/checkstyle</dir>
<dir>./ant/lib</dir>
<dir>./config</dir>
</dirlist>
...以及您希望XML如何看起来像? – 2010-08-19 00:09:22