2010-08-18 44 views
0

我需要从文件系统读取目录结构并将其缓存在xml文档中。有人可以建议我如何使用bash做到这一点?我只需要缓存目录/子目录下的文件而不是它们。Bash:如何读取目录结构并将其缓存到xml文档中

该结构是随机生成的,因此不知道每次有多少个节点以及该树的深度有多大。它是分层的,每个级别都包含很多子目录。

任何指导,将不胜感激。

+0

...以及您希望XML如何看起来像? – 2010-08-19 00:09:22

回答

1

不知道什么目标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> 
相关问题