1
0
Fork 0
mirror of https://github.com/notwa/rc synced 2024-06-17 21:53:06 -07:00
rc/sh/trunc

14 lines
394 B
Bash
Executable File

#!/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 "$@"