当前位置:  技术问答>linux和unix

unix下,怎么去查找一个目录下的一个文件(模糊查询,取得符合条件的第一个文件名字)?

    来源: 互联网  发布时间:2015-11-06

    本文导语:  findfirst是用来查找windows下的目录吧? 例如查找 c:\test目录下的*test.txt文件. | vector GetListDir(const RString& sDir,const RString& sFit)//得到匹配的带路径文件名列表,不饱含子目录     {        ...

findfirst是用来查找windows下的目录吧?

例如查找 c:\test目录下的*test.txt文件.

|
vector GetListDir(const RString& sDir,const RString& sFit)//得到匹配的带路径文件名列表,不饱含子目录
    {
        vector vFilePath;
        
#ifdef _WIN32
        RString strDir;
        strDir = sDir ^ sFit;
        CFileFind finder;
        BOOL bWorking = finder.FindFile(strDir);
        if(!bWorking)
        {
            return vFilePath;
        }
        while (bWorking)
        {
            bWorking = finder.FindNextFile();

            if (finder.IsDots())
                continue;
            else if (finder.IsDirectory())
            {
                continue;
            }
            else
                vFilePath.push_back(finder.GetFilePath().GetBuffer(0));
        }
#else
        DIR* dp;
        struct dirent *dirp;
        dp=opendir(sDir);
        if(dp)
        {
            while((dirp=readdir(dp))!=NULL)
            {
                if(fnmatch(sFit,dirp->d_name,FNM_PATHNAME)==0)
                {
                    vFilePath.push_back(sDir ^ dirp->d_name);
                }
            }
            closedir(dp);
        }
#endif
        return vFilePath;
    }
这是我写的一个函数,你可能用得上

|
另,^是我定义的一个运算
#ifdef _WIN32
    const char PATH_SEP = '\';
#else
    const char PATH_SEP = '/';
#endif
RString AFX_EXT_API operator ^(const RString& sDir,const RString& sFile)                //拼接两个路径,即中间加SEP
    {
        if(sDir.empty() || *(sDir.rbegin()) != PATH_SEP)
            return sDir + PATH_SEP + sFile;
        else
            return sDir + sFile;
    }

RString 可以看成是string

上面那个函数在windows及linux,unix下都可以用,不过要定义宏那它们分开。

|
问一下ls的时候是否可以满足你的要求?
$ ls *test.txt  | echo $1

|
opendir()
closedir()
readdir()
scandir()
得到文件名后去匹配

|
find 目录 |grep ""

|
find 目录 -name '文件名'
例如:
find ./ -name 'test*' //*表示模糊匹配

    
 
 

您可能感兴趣的文章:

  • 小问题, Unix 如何建立一个文件 ,unix 文件有后缀名吗
  • .zip文件怎样在Unix下解压缩?.tar.tar文件怎样在Unix下解压缩
  • java中使用jxl生成excel文件,在unix中比在windows中明显慢,有高手知道原因吗?或者说unix和windows的文件系统哪个更快?
  • 各位兄弟帮忙,cut-ftp连接hp-unix,连接上了,但是unix上的文件不能显示,还能上传文件
  • 用oracle pl/sql 从A unix机器,去读取B unix机器上的一个文件,怎么实现?
  • 在 WINDOWS 2000 用 TELNET + IP 登录到 UNIX 中,怎样 GET UNIX 中的指定文件?
  • 在unix下如何拷贝文件?在windows下如何访问安装unix系统的硬盘?
  • UNIX怎样处理ASCII文件与文本文件
  • 新学者,各位不要吐血:哪儿有Unix的操作系统安装文件,我没有它的概念,我想学习之。Unix好神秘呀!
  • UNIX下how to 查找所有的文件夹下的文件?
  • 求助批处理实现dos -〉unix文件的转换,要将^M 替换为unix回车
  • unix下文件IO和dos下文件IO有什么区别?
  • 文件名为“apue.tar.Z”的文件在UNIX下怎么打开?大家帮帮忙
  • 谁有办法把一个原来是fat32的文件系统,被格式成为sco unix文件系统还原回来?
  • unix(IBM AIX)下怎么样删除文件名为e:bbbddd.dmp的文件啊?
  • UNIX中相当于WINDOWS中.bat文件的是哪种文件
  • Linix下编译生成的文件可以在本机器运行为什么不能在一Unix机器下运行。另外Unix下为什么没有make命令
  • hp-unix下,我用ftp软件打开hp-unix的时候目录不显示文件,我记得是用ROOT用户设置一下什么init.d什么的,但是忘记了,请知道的朋友指点!
  • 在unix下一个文件夹能包含多少个文件
  • 请问unix下修改文件和文件夹读写权限的问题
  • 在unix查找某个目录下一小时前的生成的文件,怎么查找?find只能按天来查。
  • UNIX中如何查找特殊字符串
  • unix 字符串查找问题
  • 求教:在UNIX中查找包含指定文字的文件名
  • unix下查找某个文件用哪个命令?
  • 已知一段文本,在unix怎样查找包含该文本的文件
  • unix下怎样查找某用户建立的所有文件
  • UNIX/LINUX中grep查找文件个数有无限制
  • 一个字段在一个文件中循环查找,UNIX下怎么写?
  • unix shell: 如何写在文件中循环查找....请进..
  • unix下怎样查找符合条件的文件,并存取文件的时间?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • unix有一个工具,可以对自己编写的C程序进行符合各种编码风格的输出转换,谁知道?
  • java命名空间java.util.regex类pattern的类成员方法: unix_lines定义及介绍
  • 刚刚接触Unix系统和Unix编程。急需Unix下多线程程序设计和网络Socket程序设计方面的资料。
  • unix/Linux下c++ boost thread库读写锁介绍
  • 关于UNIX的历史 : 1973年,K.Thompson和D.M.ritchie,用C改写UNIX。那么,在此之前,UNIX是用什么写的?
  • php将标准字符串格式时间转换成unix时间戳_strtotime
  • 没有unix系统我如何学习unix
  • php将unix时间戳转换成字符串时间函数(date)
  • 在unix下如何拷贝文件?在windows下如何访问安装unix系统的硬盘? iis7站长之家
  • unix/Linux下c/c++ pthread库读写锁函数介绍
  • 急!装完unix5.06,再装win2000。重启后不能进unix.
  • UNIX特急!!!digital unix问题,请专家快来!!!
  • UNIX支持中文否,请推荐UNIX好书
  • SCO UNIX 5.0用软盘启动之后无法启动UNIX
  • 散分!!unix 用户调查!!!你使用哪款unix
  • hp unix 和 sco unix的区别
  • 入门问题,我想向UNIX编程方向发展,单目前不会UNIX,我该如何做
  • 强烈建议将linux/Unix栏目放到“软件开发者”大类里面来。----Unix开发的人助威支持!!!
  • 现在那些unix比较流行?Linux和 Unix有 什么区别?
  • 我想学习Unix,请高手给个下载网址,用linux来学习Unix差别大吗?
  • 请问各位unix大虾,哪有免费的unix下载?
  • 学UNIX从SOC UNIX开始好吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3