Я знаю, как декодировать мой аудиофайл 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-программы не "записывают в терминал", если вы хотите передать свои выходные данные в другую программу, термин является stdout (сокращение от стандартного вывода), который является именем дескриптора файла, используемого внутри. Таким же образом, они считываются из стандартного ввода (или стандартного ввода).
Поэтому, если вы посмотрите на man-страницу (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