строка множественной замены xargs - PullRequest
1 голос
/ 01 апреля 2020

Я хочу использовать curl для параллельного выполнения нескольких http-запросов для тестирования производительности сервера.

Для запроса требуется адрес MA C, который я хотел бы сосчитать в следующим образом.

00:00:00:00:AA:BB
             ^  ^
             |  \___ count from 00 to ff (hex)
             \______ count from 00 to ff (hex)

BB должен перетекать в AA, когда он становится больше 0xFF

Пока я получил, увеличивая BB и отправляя запрос параллельно.

printf "%02x\n" {0..255} | xargs -I{} -P4 -- \
    curl -s \
    http://nginx/api/onboard/01:02:03:04:00:{}

Это прекрасно работает, но мне нужно запросить более 256 раз.

xargs - BusyBox v1.31.1

1 Ответ

1 голос
/ 01 апреля 2020

Я нашел решение. Это на самом деле не связано с xargs, как я думал сначала.

printf "%04x\n" {0..1000} | \
sed -r 's/([[:xdigit:]]{2})([[:xdigit:]]{2})/\1:\2/g' | \
xargs -I{} -P4 -- \
curl -k -s \
    https://nginx/api/onboard/21:12:12:12:{}

Я создаю необходимую часть MA C с комбинацией printf и sed. Возможно, есть лучший способ, но он решает мою проблему.

...