OS Xのbashで、あるディレクトリ以下の全てのファイルから5ファイルをランダムに選択したい場合:
for f in $(find . -type f); do echo `uuidgen` $f; done | sort | head -5 | awk '{print $2}'
CentOSであればsort -R
でランダムにソートできるので、もう少しシンプルにできそうだが、OS Xのsortではできないようだ。
uuidgen
の代わりに$RANDOM
でもよいが、ファイル数が多い場合にランダム性が損なわれる。