Alsa и PulseAudio (csound): Отказ в подключении

Использование sedиbc:

date +%z | sed -E 's/^([+-])(..)(..)/scale=2;0\1(\2 + \3\/60)/' | bc

Это вернет вас 2.00в часовой пояс, в котором я нахожусь(+0200).

Со странными/необычными часовыми поясами:

$ echo '+0245' | sed -E 's/^([+-])(..)(..)/scale=2;0\1(\2 + \3\/60)/' | bc
2.75

$ echo '-0245' | sed -E 's/^([+-])(..)(..)/scale=2;0\1(\2 + \3\/60)/' | bc
-2.75

Выражение sedпревратит часовой пояс в «bcскрипт». Для часового пояса +HHMMскрипт будет

scale=2;0+(HH + MM/60)

Для -HHMMбудет

scale=2;0-(HH + MM/60)

Ноль там, потому что мой bcне понимает унарный +.

Если вы собираетесь иметь дело только с полными часовыми поясами, вы можете использовать

date +%z | sed -E 's/^([+-])(..)../0\1\2/' | bc

который выдаст вам целые числа.

0
16.12.2019, 11:19
1 ответ

Наконец-то я нашел проблему; Я описал это здесь на случай, если кто-то еще наткнется на это в будущем.

0
28.04.2021, 23:26

Теги

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