#!/usr/bin/env dash # YES_ZSH # YES_BASH # YES_DASH # YES_ASH # works with busybox ash. slit() { ### @- ### view specific columns of text. [ $# -gt 0 ] \ || { printf '%s: too few arguments\n' "$0" >&2; return 1; } local arg= for arg; do [ "$arg" -ge 0 ] 2>/dev/null \ || { printf '%s: not a nonnegative integer: %s\n' "$0" "$arg"; return 1; }; done awk "{ print $(printf ',$%s' $@ | cut -b2-) }" # via: https://github.com/sorin-ionescu/prezto/ #awk "{ print ${(j:,:):-\$${^@}} }" } [ -n "${preload+-}" ] || slit "$@"