summaryrefslogtreecommitdiff
path: root/randomize.awk
diff options
context:
space:
mode:
Diffstat (limited to 'randomize.awk')
-rw-r--r--randomize.awk23
1 files changed, 23 insertions, 0 deletions
diff --git a/randomize.awk b/randomize.awk
new file mode 100644
index 00000000..88f86da2
--- /dev/null
+++ b/randomize.awk
@@ -0,0 +1,23 @@
+# Copyright (c) 2005 Silicon Graphics, Inc. All Rights Reserved.
+
+# randomize stdin.
+
+function randomize(array, N) {
+ for(i = 0; i < N; i++) {
+ j = int(rand()*N)
+ if ( i != j) {
+ tmp = array[i]
+ array[i] = array[j]
+ array[j] = tmp
+ }
+ }
+return
+}
+
+{
+ srand()
+ for (i = 0; i < NF; i++ ) array[i] = $(i+1)
+ randomize(array, NF)
+ for (i = 0; i < NF; i++) printf("%s ", array[i])
+}
+