]> ruderich.org/simon Gitweb - config/dotfiles.git/commitdiff
bin: Add srandom-order. Pass files in random order to a program.
authorSimon Ruderich <simon@ruderich.org>
Thu, 24 Jan 2013 16:37:40 +0000 (17:37 +0100)
committerSimon Ruderich <simon@ruderich.org>
Thu, 24 Jan 2013 16:37:40 +0000 (17:37 +0100)
bin/srandom-order [new file with mode: 0755]

diff --git a/bin/srandom-order b/bin/srandom-order
new file mode 100755 (executable)
index 0000000..5469703
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+# Run all files in the current directory (recursively) in a random order with
+# the given program.
+
+# Copyright (C) 2012-2013  Simon Ruderich
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+
+set -e
+
+if test "$#" -eq 0; then
+    echo "Usage: $0 <program-args>.." >&2
+    exit 2
+fi
+
+find . -type f -print0 \
+    | sort --random-sort --zero-terminated \
+    | xargs -0 "$@"