В то время как как и @steeldriver, я бы использовал подходящий инструмент для обработки текста, такой как perl
, для выполнения этой работы , я упомяну хакерский способ с оболочкой zsh
:
while read -rA words; do
print -r -- /(e['reply=($words)']noe['REPLY=$RANDOM'])
done < your-file
Это что-то вроде хака. Мы заканчиваем тем, что используем генерацию имени файла, чтобы иметь возможность использовать квалификатор o
glob, который позволяет нам реализовать произвольные порядки сортировки.
Здесь мы используем подстановку /
(, которая, как мы знаем, всегда существует ), используем квалификатор e
glob, чтобы заменить его содержимым нашего массива, а затем делаем n
мерикал o
упорядочение на основе выражения REPLY=$RANDOM
e
.