使用tcl脚本获取最新版本

时间:2019-09-27 08:43:10

标签: tcl expression

Nuke是用于合成图像序列和mov的应用程序。它的节点文件路径属性允许tcl脚本 从文件夹“ / show / ABCD / shot / HJ / HJ0022 / edt / publish / editref / v002”中替换实际文件

/show/ABCD/shot/HJ/HJ0022/edt/publish/editref/v002/HJ0022.hj.seq.234233.mov

这可以使用tcl表达式检索

[lindex [lsort -increasing [glob -nocomplain /show/[getenv SHOW]/shot/[getenv SEQ]/[getenv SHOT]/edt/publish/editref/v002/*.mov]

问题是:

说有多个文件夹

/show/ABCD/shot/HJ/HJ0022/edt/publish/editref/v002
/show/ABCD/shot/HJ/HJ0022/edt/publish/editref/v003
/show/ABCD/shot/HJ/HJ0022/edt/publish/editref/v004
/show/ABCD/shot/HJ/HJ0022/edt/publish/editref/v005

如上所述,如何使用tcl表达式在单行中获取最新的文件夹v005。 〜

我尝试使用regexp

[lindex [lsort -increasing [glob -nocomplain /show/[getenv SHOW]/shot/[getenv SEQ]/[getenv SHOT]/edt/publish/editref/[regexp -inline "v[0-9]{3}" [value Read1.file] ]/*.mov]

其中Read1是读取节点的名称,但显然这是不正确的,预感是 这不是实现它的正确方法。在这里使用regexp的正确方法是什么,或者从最新版本的文件夹中获取文件的另一种方法〜

1 个答案:

答案 0 :(得分:2)

  

如何在单个目录中使用tcl表达式获取最新的文件夹v005   上面的行。

假设文件路径列表为lsort,请使用lindex

lindex [lsort -increasing $files] end

lindex [lsort -decreasing $files] 0

这扩展到其他排序方案,例如:command to get filelist ordered by age (mtime) in Tcl