我知道如何将我的 flac 音频文件解码为 wav,如下所示:
flac -d flac.flac wav.wav
,它将 flac.flac 转换为 wav.wav。但是,我想将 wav 数据写入终端,这样我就可以将其传送到另一个程序,而无需将其保存到文件中。例如,我想做这样的事情flac_to_wav_output_terminal | cat > /path/to/wav/file
(该命令不是我要做的确切内容。
答案1
Unix 程序不会“写入终端”,如果你想将其输出通过管道传输到另一个程序,术语是标准输出(短缺标准输出),这是内部使用的文件描述符的名称。同样,它们从标准输入(或者标准输入)。
因此,如果您查看手册页(man flac
),并搜索该术语stdout
(使用less
分页器,您可以用来/
搜索),您将看到以下内容:
-c, --stdout
Write output to stdout
因此flac -c -d flac.wav | ...
会做你想做的事。
还请注意,在您的示例中
flac_to_wav_output_terminal | cat > /path/to/wav/file
这cat
是多余的,因为你可以写
flac_to_wav_output_terminal > /path/to/wav/file