【问题标题】:Redirect binary output from file output to stdout将二进制输出从文件输出重定向到标准输出
【发布时间】:2014-12-09 19:41:32
【问题描述】:

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

  1. 构建第一个参数而不创建临时文件
  2. 将二进制写入标准输出而不是输出文件(第二个参数)

我用<(...) 解决了第一个问题,但不确定第二个参数。

我编写了以下脚本,看起来一切都按预期进行:

FILE1=$1
FILE2=$2

# checking that the files exist and other stuff

mkfifo myfifo

ThatBinary <( ... ) myfifo &

cat myfifo

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

是否可以改进此命令?有什么隐藏的注意事项吗?我正在处理非常大的文件(数十万行文本),并希望确保我不会遗漏任何内容。

【问题讨论】:

    标签: bash


    【解决方案1】:
    ThatBinary <(...) /dev/stdout
    

    【讨论】:

    • 奇怪的是,我无法将脚本的标准输出重定向到文件。错误消息为 ``IOError: [Errno 20] Not a directory: '/dev/stdout' ''
    猜你喜欢
    • 2015-08-31
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    • 2010-09-29
    • 1970-01-01
    • 1970-01-01
    • 2015-05-23
    相关资源
    最近更新 更多