Bash-Fu: Desordenado linhas de um arquivo
Aqui vão algumas formas de reordenar (ou "randomizar") as linhas de um arquivo em uma linha usando apenas as ferramentas båsicas via bash:
daniel@codalabs:~$ shuf arq.txtÂ
daniel@codalabs:~$ cat -n arq.txt | sort -R | cut -f2-
Gerando nĂșmeros pseudo-aleatĂłrios com $RANDOM
daniel@codalabs:~$ for linha in $(cat arq.txt); do echo "$RANDOM $linha"; done | sort | cut -f2-
Usei o cut no exemplo pois a maior parte das pessoas que conheço acha bem mais fåcil dessa forma, mas vale também usar o sed.
Existe outras formas de fazer o trabalho - usando Perl, Python, awk -, mas para esse tipo de tarefa, prefiro perder menos tempo usando ferramentas mais simples. Se vocĂȘ conhece outras maneiras, fique a vontade para comentar!