#!/usr/bin/awk -f BEGIN { srand(); c = 0; } { a[c] = $0; c++; } END { srand(); while(c > 0) { # pick a random item r = int((c - 0.0001) * rand()); # print it print a[r]; # remove from list for(j=r; j < c; j++) { a[j] = a[j + 1]; } c--; } }