1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
#!/bin/sh line="hell o world" # replace tabs with spaces l="$line" line= while [ "$l" ]; do c="${l%*${l#?}}" case "$c" in "\t") line="$line ";; *) line="$line$c" ;; esac l="${l#?}" printf "%s\n" "$c" done printf "%s\n" "$line"