TCL中的FIFO文件

亚曼·叶甘延

我需要将文件解压缩到命名管道中并返回:

proc unzip_file_if_needed { fileName } {
    if { [file extension $fileName] != ".gz" } {
        return $fileName;
    }
    set tmpDir [fileutil::tempdir]
    set tmpFileName [ file join $tmpDir [ pid ] ]
    if { [file exists $tmpFileName ] } {
        file delete $tmpFileName
    }
    exec mkfifo $tmpFileName
    exec gunzip -c $fileName > $tmpFileName &
    return $tmpFileName
}

它挂着 exec gunzip -c $fileName > $tmpFileName &

亚曼·叶甘延

我以这种方式解决了这个问题:

proc unzip_file_if_needed { fileName } {
    if { [file extension $fileName] != ".gz" } {
        return $fileName;
    }
    set tmpDir [fileutil::tempdir]
    set pId [pid]
    set tmpFileName [ file join $tmpDir pId ]
    set unzipCmd [ file join $tmpDir [ append pId "cmd.sh" ] ]
    if { [file exists $tmpFileName ] } {
        file delete $tmpFileName
    }

    if { [file exists $unzipCmd ] } {
        file delete $unzipCmd
    }

    set cmdDesc [open $unzipCmd { CREAT EXCL RDWR} 0777]
    puts $cmdDesc "\#!\/bin\/bash\n gunzip -c \$1 > \$2"
    close $cmdDesc

    exec mkfifo $tmpFileName
    exec $unzipCmd $fileName $tmpFileName >&@1 &

    return $tmpFileName
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在TCL中写入文件

来自分类Dev

忽略文件TCL中的行

来自分类Dev

Tcl中的异步文件IO

来自分类Dev

复制并替换tcl中的文件

来自分类Dev

使用内部变量在Tcl中打开文件

来自分类Dev

需要在TCL中容纳多个文件

来自分类Dev

在Windows上的TCL中创建文件

来自分类Dev

检查文件是否为C ++中的命名管道(FIFO)

来自分类Dev

使用 TCL 中的文件属性授予文件权限

来自分类Dev

如何从TCL中的文件中获取选择性数据?

来自分类Dev

从文件中拆分一行以替换tcl中的元素

来自分类Dev

如果tcl代码仍在写入,是否可以读取tcl中的文件?

来自分类Dev

TCL-REGEX ::如何使用TCL regexp过滤文本文件中多次出现的行

来自分类Dev

如果tcl代码仍在写入,是否可以读取tcl中的文件?

来自分类Dev

评估文本文件中的Tcl表达式

来自分类Dev

在Tcl文件中列出所有过程的方法

来自分类Dev

Tcl中来自* csv输入文件的数组分配

来自分类Dev

运行文件夹中的所有TCL脚本

来自分类Dev

将变量作为参数传递给TCL中的awk文件

来自分类Dev

在tcl中获取文件名和时间

来自分类Dev

TCL:从文件中读取仅包含相关单词的行

来自分类Dev

tcl / tk-多文件starkit中的依赖库问题

来自分类Dev

如何检查文件是否已经在tcl中打开

来自分类Dev

如何在Python的文件夹中运行Tcl脚本?

来自分类Dev

如何在Tcl中的源文件中使用exec语句

来自分类Dev

输入文件需要通过tcl中的代码进行编辑

来自分类Dev

Tcl中来自* csv输入文件的数组分配

来自分类Dev

根据条目输入TCL删除文件中的字符串

来自分类Dev

使用tcl查找并替换文件中的值