trimpy () {
python3 -c 'import sys
for line in sys.stdin: print(line.strip())'
}
trimsed () {
gsed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'
}
trimzsh () {
local out="$(</dev/stdin)"
[[ "$out" =~ '^\s*(.*\S)\s*$' ]] && out="$match[1]" || out=''
print -nr -- "$out"
}
# example usage
echo " hi " | trimpy
Bonus: replace str.strip([chars]) with arbitrary characters to trim or use .lstrip() or .rstrip() as needed.
(This is just a remix of other answers here.)