Командная строка Junior Трейсы и OpenTelemetry обновлено

Проверить заголовки traceparent

Условие

На stdin значения заголовка traceparent, по одному в строке. Для каждого выведите <trace_id> <parent_id> sampled (или not-sampled), если заголовок корректен, иначе invalid. Корректный заголовок: ровно 4 части через -; версия 2 hex-символа, но не ff; trace_id 32 и parent_id 16 hex-символов в нижнем регистре, не из одних нулей; флаги 2 hex-символа. Трейс сэмплирован, если младший бит флагов равен 1.

Как подойти

Подсказки: 2
  1. [[ $h =~ ^([0-9a-f]{2})-... ]] заполнит BASH_REMATCH.
  2. Hex в число: $(( 16#ff )).

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.