将二进制输出从文件输出重定向到stdout

时间:2014-12-09 19:41:32

标签: bash

我有一个专有二进制文件,它固执地接受两个文件作为参数,第一个作为输入,第二个作为输出。我想

  1. 构建第一个参数,无需创建临时文件
  2. 对stdout进行二进制写入而不是输出文件(第二个参数)
  3. 我用<(...)解决了第一个问题,但对第二个参数不确定。

    我写了一个下面的脚本,看起来像预期的一样:

    FILE1=$1
    FILE2=$2
    
    # checking that the files exist and other stuff
    
    mkfifo myfifo
    
    ThatBinary <( ... ) myfifo &
    
    cat myfifo
    

    二进制文件的第一个参数是组合的Bash命令,它构建了第一个``file&#39;&#39;。第二个参数是二进制文件必须写入的命名管道。自写入fifo块以来,所有这些都被发送到后台。最后,我根据需要将命名管道的输出打印到stdout。

    是否可以改进此命令?任何隐藏的警告?我正在处理非常大的文件(成千上万的文本行),并希望确定我什么都不会错过。

1 个答案:

答案 0 :(得分:3)

ThatBinary <(...) /dev/stdout