Linux 过滤器将来自管道的数据转换为分块传输编码

Linux 过滤器将来自管道的数据转换为分块传输编码

我通常在 Ruby CGI 脚本中使用 Open3.popen3 来启动 Linux 命令,解析其标准输出并将字节转换为分块传输编码(https://en.wikipedia.org/wiki/Chunked_transfer_encoding

 th<<Thread.new do
         counter=0
           while data=stdout.read(64*1024)
            STDOUT.puts "#{data.size.to_s(16)};"
            STDOUT.print data
            STDOUT.puts
            counter+=data.size
           end
           STDOUT.puts "0"
           STDOUT.puts "Content-Length: #{counter}"
           STDOUT.puts
end
th.join

我想知道是否已经有 Linux 命令行实用程序/过滤器可以执行这项特定工作:计算字节数、使用正确的标题打印块以及使用计算的内容长度结束页脚。所以我只需将命令输出通过管道传输到该过滤器,无需 Open3.popen3,我认为转换会更快。

相关内容