@nobody

I looked at shuf for this but it's not a busybox builtin and not included out of the box with Alpine, though awk is, which is why I went with it to generate the random number pairs.  So to say that I don't know what tools are available is perhaps a little unfair as I did state in the episode that I'm limiting myself to busybox builtins.  Imposing that limitation on myself is perhaps a little silly, but, it is a fact that I would have to install _something_ to get the additional functionality you reference, and that may not always be possible or desirable in embedded applications.

Actually, I wrote the above so I'll leave it there, but I decided to double check.  I usually refer to https://busybox.net/BusyBox.html as a single page reference to the builtins and shuf isn't listed but /usr/bin/shuf is indeed a symlink to /bin/busybox on one of my Alpine devices, which is a little annoying.  When I work on a script like this one, I usually do it on my laptop that has all the full tools on it but I double check against the busybox page to make sure I'm not using a command or an option to a command that busybox doesn't support.  Then I test it on one of the devices.