当前位置: 技术问答>linux和unix
FreeBSD下如何遍历目录及文件?
来源: 互联网 发布时间:2015-01-22
本文导语: 如题,谢谢! | ftw和nftw可以遍历目录,但是FreeBSD不包括这两个函数 scandir可以扫描整个目录,但是在hpux上不兼容。 | 一般有 opendir() readdir() fnmatch() closedir() 不知道FreeBSD有...
如题,谢谢!
|
ftw和nftw可以遍历目录,但是FreeBSD不包括这两个函数
scandir可以扫描整个目录,但是在hpux上不兼容。
scandir可以扫描整个目录,但是在hpux上不兼容。
|
一般有
opendir()
readdir()
fnmatch()
closedir()
不知道FreeBSD有没有这些调用,应该是标准的。
opendir()
readdir()
fnmatch()
closedir()
不知道FreeBSD有没有这些调用,应该是标准的。
|
还是用perl吧,巨简单!要么用shell
给你一段perl代码
#!/usr/bin/perl -w
use strict;
use File::Find;
sub wanted
{
if (-f $File::Find::name)
{
if ($File::Find::name=~/.tds$/i || $File::Find::name=~/.~.*?$/i) # 判断文件是.tmp或.bak的就删除
{
print "Removing $File::Find::namen";
unlink $File::Find::name;
}
}
}
#find(&wanted,'c:/','d:/','e:/','f:/'); # 查到一个文件就调用wanted函数
find(&wanted,'d:/');
给你一段perl代码
#!/usr/bin/perl -w
use strict;
use File::Find;
sub wanted
{
if (-f $File::Find::name)
{
if ($File::Find::name=~/.tds$/i || $File::Find::name=~/.~.*?$/i) # 判断文件是.tmp或.bak的就删除
{
print "Removing $File::Find::namen";
unlink $File::Find::name;
}
}
}
#find(&wanted,'c:/','d:/','e:/','f:/'); # 查到一个文件就调用wanted函数
find(&wanted,'d:/');