将临时文件连接到tcl中的单个文件

ego*_*ulz 1 file-io tcl concatenation

我正在尝试将文件夹中的所有临时文件连接到单个文本文件中.但我一直在遇到错误:

 if { [catch { exec cat /tmp/new_temp/* >> /tmp/full_temp.txt } msg] }
Run Code Online (Sandbox Code Playgroud)

错误信息:

-cat: /tmp/new_temp/*: No such file or directory
Run Code Online (Sandbox Code Playgroud)

如果我在tclsh上尝试相同的东西(没有catch和exec)它可以工作

kos*_*tix 5

为什么这么糟糕的做法?使用Tcl本身连接​​这些文件:

set out [open /tmp/full_temp.txt w]
fconfigure $out -translation binary
foreach fname [glob -nocomplain -type f "/tmp/new_temp/*"] {
    set in [open $fname]
    fconfigure $in -translation binary
    fcopy $in $out
    close $in
}
close $out
Run Code Online (Sandbox Code Playgroud)