免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3142 | 回复: 4
打印 上一主题 下一主题

请帮助怎样在目录下查找所有子目录下的特定文件并且打开 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-14 09:50 |只看该作者 |倒序浏览
请帮助 怎样在目录下查找所有子目录下的特定文件并且打开。例如:
父目录1下有3个子目录分别为11,12,13。
每个子目录里有格式是txt文件,现在想把每个子目录(11,12,和13)里是txt的文件找到并且打开。
请朋友们帮助!多谢了

论坛徽章:
0
2 [报告]
发表于 2006-02-14 11:20 |只看该作者
@DIR=`find 父目录1 -name *.txt`;#做完这步再循环open即可

论坛徽章:
0
3 [报告]
发表于 2006-02-14 16:11 |只看该作者
windows下要复杂很多,
$dir="D:\\perl_test\\";
chdir($dir);
opendir(DIR,$dir);
@arr1=glob('*');
@arr3 = grep{-d "$dir$_"} @arr1;#获取子目录名;重复直到到目标,然后用open打开文件

论坛徽章:
0
4 [报告]
发表于 2006-02-14 22:28 |只看该作者
递归查找子目录,你可以参考Stas Berkman的这篇旧code:

http://stason.org/works/scripts/recurs.pl

论坛徽章:
0
5 [报告]
发表于 2006-02-15 10:02 |只看该作者
更好的方法是使用File::Find模块

use File::Find;
$dir="你的父目录";
chdir($dir);
find sub {push(@DIR,$File::Find::name) if ($File::Find::name=~m/.txt/)},'.';
foreach $dirs(@DIR)
{
open(IN,$dir);
...
...
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP