perl -ls0777ne 'print for(split $\)[split $\,$r]' -- -r="$(shuf -i 0-3493 -n 100)" -- ./*.txt
r="$(shuf -i 0-3493 -n 5)" \
perl -l -0777ne 'print for(split $\)[split $\,$ENV{r}]' ./*.txt
Случайная комбинация генерируется и передается в Perl
через командную строку, что гарантирует, что все файлы получат одинаковую случайную последовательность. Каждый файл slurped
затем разделяется на newline
и выбирается за один раз с помощью конструкции @A[...]
. Обратите внимание, что поскольку индексы Perl
начинаются с нуля, команда shuf
получает 0..3494-1