From 03418caa85c2c56c0750e5d097f39be241faf5dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C5=82awomir=20=C5=9Aled=C5=BA?= Date: Sun, 18 Mar 2018 12:01:29 +0100 Subject: [PATCH] Three new functions: pass, dropw, peek --- src/fun.sh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/fun.sh b/src/fun.sh index 9608852..d0b3af8 100755 --- a/src/fun.sh +++ b/src/fun.sh @@ -193,6 +193,26 @@ filter() { done } +pass() { + echo > /dev/null +} + +dropw() { + local x + while read x && $(echo "$x" | "$@"); do + pass + done + [[ ! -z $x ]] && { echo $x; cat -; } +} + +peek() { + local x + while read x; do + ([ $# -eq 0 ] && 1>&2 echo $x || 1>&2 "$@" < <(echo $x)) + echo $x + done +} + stripl() { local arg=$1 cat - | map lambda l . 'ret ${l##'$arg'}'