Se você estiver usando uma nova distribuição linux / unix razoável, sort
é fornecido com um -R
flag que randomiza as linhas em vez de classificá-las. Podemos usar isso para criar essa solução de uma linha:
awk '{printf("%s%s",$0,(NR%4==0)?"\n":"awk '{printf("%s%s",$0,(NR%4==0)?"\n":"%pre%")}' file.txt | sort -R | tr "%pre%" "\n" > sorted.txt
")}' file.txt | sort -R | tr "%pre%" "\n" > sorted.txt
Primeiro, use awk
para agrupar a cada 4 linhas substituindo \n
por
. Em seguida, misturamos as linhas usando sort -R
tr
e finalmente restauramos as quebras de linha com %code% .