Сохранить только последние x МБ аудиопотока, загруженного с помощью curl - PullRequest
1 голос
/ 17 октября 2019

Я хочу скачать аудиопоток (curl STREAM > out.mp3) и проанализировать его. Однако я не хочу хранить все, а только последние x МБ этого потока, после этого все может быть удалено. Таким образом, максимальный размер файла out.mp3 равен x МБ, и он содержит последние x МБ потока.

Могу ли я сделать это с помощью стандартных инструментов bash и поэтому не анализировать размер файла самостоятельно и не использовать операторы if-else?

1 Ответ

1 голос
/ 17 октября 2019

tail отображает «последнюю часть файла». По умолчанию он отображает последние 10 строк , вы можете использовать параметр -c number, чтобы он отображал последние number байтов . И как хороший гражданин UNIX, вместо того, чтобы работать с файлами, вы можете направить поток данных к нему.

Короче говоря, вы можете хранить последний 1 мегабайт потока, например:

curl -s URL | tail -c 1048576 > last1mb.mp3
...