diff bin/share_by_task.sh @ 11:dfdb95e5d774

catch-up
author Henry S. Thompson <ht@inf.ed.ac.uk>
date Thu, 28 Jul 2022 14:45:35 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/share_by_task.sh	Thu Jul 28 14:45:35 2022 +0100
@@ -0,0 +1,31 @@
+#!/bin/bash
+# Usage: share_by_task.sh [-f format] [-s from to] N task
+# Filter a sequence by mod N == task
+# Sequence is stdin, or if -s then seq $from $t
+if [ "$1" = '-f' ]
+then
+ shift
+ f=$1
+ shift
+else
+ f='%s\n'
+fi
+
+if [ "$1" = '-s' ]
+then
+ shift
+ source="seq $1 $2"
+ shift
+ shift
+else
+ source="cat"
+fi
+
+pos=0
+${source} | while read v
+ do
+  if [ $((++pos % $1)) -eq $2 ]
+  then
+    printf "$f" $v
+  fi
+ done