Hi Ian,
I actually use a perl command for shuffling. It goes like the following:
gunzip -c [pooledReps.tagAlign.gz] | perl -MList::Util=shuffle -e 'print shuffle(<STDIN>);' | split -d -l [numbPseudoReads] - [pseudoRepDir/pseudoRep]
which creates two files, pseudoRepDir/pseudoRep00 and pseudoRepDir/pseudoRep01.
I've used it in a variety of systems, and it runs pretty smoothly. Of course, you need perl installed, but this is ubiquitous.
Hope that helps,
- Alvaro.