Есть ли какой-либо медиаплеер, который может просмотреть потоки Shoutcast?

Здесь есть несколько хороших ответов, но я вижу только один, который включает в себя часть проблемы Val , и неясно, правильно ли это. Я согласен с тем, что awk - «замечательный инструмент», но здесь в нем нет необходимости; Я считаю, что эта команда sed :

sed -n '/\[part1\]/,/\[part2\]/s/.*Val.*=//p' "$file"

, вероятно, делает то, что желает. Как и другие решения sed -e '/ \ [part1 \] /, / \ [part2 \] / p' ( Сетевик и Бэби ), это легко адаптировать для выбора любого раздела. (Вы, конечно, должны знать его имя; если вы знаете только его порядковый номер, вы можете адаптировать ответ Тердона или ответ Гленна Джекмана , оба из которых учитывают разделы, а не ищут конкретное имя.) Если вы не знаете название следующего раздела, вы можете ввести, например,

sed -n '/\[part42\]/,/\[part/s…' "$file"

.

Мой единственный мета-вопрос касается части вопроса cut -d '=' -f2 . Если строка ввода, из которой мы извлекаем данные, содержит несколько = символов после Val (т.е. значение поля содержит = символа (ов)), например,

Einstein.Val = E=mc^2

, то приведенная выше команда cut извлечет только текст между первая и вторая = (т.е. значение поля до (но не включая) первого = ), например, E . Команда sed , которую я представил выше, будет извлекать только текст после последнего = (например, mc ^ 2 ). Чтобы получить все после первого = (например, E = mc ^ 2 ), используйте

sed -n '/\[part1\]/,/\[part2\]/s/.*Val[^=]*=//p' "$file"

Чтобы имитировать поведение разреза (например, E ), используйте

sed -n '/\[part1\]/,/\[part2\]/s/.*Val[^=]*=\([^=]*\).*/\1/p' "$file"

Обратите внимание, что мой подход предполагает, что данные выглядят по крайней мере, в целом как на иллюстрации в вопросе; то есть, по крайней мере, один = появляется где-то справа от строки Val . Соответственно, все мои решения будут игнорировать ввод вроде

Girl.Name = Valerie
Valerie Bertinelli

, даже если он находится между [part1] и [part2] .

1
16.08.2014, 17:56
1 ответ

Не на самом деле Media Player »(он не интегрируется к существующему аудиоплеерскому интерфейсу GUI), но японский Linux Distro LinuxBean имеет скрипт Shell Tunip , который позволяет просматривать и поискать радиостанции от Shoutcast Отказ После выбора станции этот инструмент запустит музыкальный проигрыватель по умолчанию.

Этот инструмент зависит от Bash (это скрипт Bash Shell), Wget (для загрузки страницы Shoutcast), YAD (для отображения его графического интерфейса), JQ (для анализа ответов на сайт Shoutcast), Xsel (необязательно для копирования информации в буфер обмена), оптимиппер (необязательно, для записи потока).

Эти зависимости могут быть установлены в Ubuntu 14.04 и его вариантами (например, Kubuntu 14.04 и Minux Mint 17. *) со следующей командой:

sudo apt-get install jq xsel streamripper

YAD доступен через webupd8 PPA :

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install yad

Этот инструмент GUI написан на японском языке, поэтому я сделал нефициальный английский язык здесь . Вы можете скачать и запустить его со следующими командами:

wget https://gist.githubusercontent.com/NullNoname/5886332a31b2b406e2da/raw/eae1acf243b5b696e393df0dbdc741433ee2d750/bean_radio_en
chmod +x bean_radio_en
./bean_radio_en
1
27.01.2020, 23:52

Теги

Похожие вопросы