UNEXPAND(1)

NAME
unexpand - convert spaces to tabs

SYNOPSIS
unexpand [OPTION]... [FILE]...

DESCRIPTION

Convert blanks in each FILE to tabs, writing to standard output.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

-a, --all
    convert all blanks, instead of just initial blanks

--first-only
    convert only leading sequences of blanks (overrides -a)

-t, --tabs=N
    have tabs N characters apart instead of 8 (enables -a)

-t, --tabs=LIST
    use comma separated list of tab positions. The last specified position can be prefixed with '/' to specify a tab size to use after the last explicitly specified tab stop. Also a prefix of '+' can be used to align remaining tab stops relative to the last specified tab stop instead of the first column

--help
    display this help and exit

--version
    output version information and exit

AUTHOR
Written by David MacKenzie.

REPORTING BUGS
Report bugs to: bug-coreutils@gnu.org
GNU coreutils home page: <https://www.gnu.org/software/coreutils/>
General help using GNU software: <https://www.gnu.org/gethelp/>
Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT
Copyright © 2026 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO
expand(1)

Full documentation <https://www.gnu.org/software/coreutils/unexpand>
or available locally via: info '(coreutils) unexpand invocation'