开源中文网

您的位置: 首页 > 编程开发 > Tcl > 正文

使用TCL递归查找指定通配符文件

来源:  作者:

python下面有一个os.listdir()可以枚举一个目录下面所有的文件及文件夹.但是在tcl里面有什么办法,一直在寻找.发现有一个叫做glob的命令,而且支持通配符.通过递归,可以非常轻松的在某个目录下面的文件名.下面的例子,稍加修改就可用于正常工作当中.

proc FindFile { startDir namePat } {
   set pwd [pwd]
   if {[catch {cd $startDir} err]} {
      puts stderr $err
      return
   }
   foreach match [glob -nocomplain -- $namePat] {
      puts stdout [file join $startDir $match]
   }
   foreach file [glob -nocomplain *] {
      if [file isdirectory $file] {
         FindFile [file join $startDir $file] $namePat
      }
   }
   cd $pwd
}

FindFile /home/riverbird/java/ "*.java"


Tags:通配符 文件
相关文章列表:
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明