#!/usr/bin/env sh # YES_ZSH # YES_BASH # YES_DASH trunc() { ### @- ### truncate text to fit within your terminal using the unicode character `…`. [ $# -le 1 ] || { printf "%s\n" "$0: too many arguments" >&2; return 1; } COLUMNS=${COLUMNS:-$(tput cols)} awk -vL=${1:-$COLUMNS} '{e=length>L?"…":"";print substr($0,0,L-(e?1:0)) e}' } [ "${SOURCING:-0}" -gt 0 ] || trunc "$@"