+ -
当前位置:首页 → 问答吧 → 用SHELL(用C也行)实现目录扫描生成文件,求助

用SHELL(用C也行)实现目录扫描生成文件,求助

时间:2010-07-27

来源:互联网

本帖最后由 tyguaike 于 2010-07-28 07:19 编辑

现在目录结构:
/usr/myvod/dong1/目录名1/文件1.rm
/usr/myvod/dong1/目录名1/文件2.rm
/usr/myvod/dong2/目录名2/文件1.rm
/usr/myvod/dong2/目录名3/文件1.rm
/usr/myvod/dong2/目录名3/文件2.rm

还有很多


文件名一般是 .rm .ram .via 等已知的一些视频文件名

现在写一个SHELL生成下面的格式的文件
目录名1|file:\\$server$\dong1\目录名1\文件1.rm|file:\\$server$\dong1\目录名1\文件2.rm|
目录名2|file:\\$server$\dong2\目录名2\文件1.rm|
目录名3|file:\\$server$\dong2\目录名3\文件1.rm|file:\\$server$\dong2\目录名3\文件2.rm|


要是SHELL没办法完成这样的功能。哪么可以实档的加入一些C语言的代码完成。
关键问题是怎么提取出目录名1,和怎么加入字符串file:\\$server$(这个也可以换成其它的字符串比如file:\\@server@)

我现在用find usr/myvod  -exec  dirname {} \;这样可以输出以下的格式。但还是达不到要求,需要想办法把/usr/myvod/dong1/这一段替换成空。
/usr/myvod/dong1/目录名1
/usr/myvod/dong1/目录名1
/usr/myvod/dong2/目录名2
/usr/myvod/dong2/目录名3
/usr/myvod/dong2/目录名3

作者: tyguaike   发布时间: 2010-07-27

自已顶一下。忘有能力的大虾看看有没有办法实现或者给个思路也行。
我看了一下unix的shell编程,但是还是找不到需要的处理办法。

作者: tyguaike   发布时间: 2010-07-28

还是去shell版问吧,这个问题应该不难。

作者: lsstarboy   发布时间: 2010-07-28