unexpand invocation (GNU Coreutils 9.0)
Previous: expand invocation, Up: Operating on characters [Contents][Index]
9.3 unexpand: Convert spaces to tabs
unexpand writes the contents of each given file, or standard input if none are given or for a file of ‘-’, to standard output, converting blanks at the beginning of each line into as many tab characters as needed. In the default POSIX locale, a blank is a space or a tab; other locales may specify additional blank characters. Synopsis:
unexpand [option]… [file]…
By default, unexpand converts only initial blanks (those that precede all non-blank characters) on each line. It preserves backspace characters in the output; they decrement the column count for tab calculations. By default, tabs are set at every 8th column.
The program accepts the following options. Also see Common options.
- ‘
-t tab1[,tab2]…’
‘--tabs=tab1[,tab2]…’ If only one tab stop is given, set the tabs
tab1columns apart instead of the default 8. Otherwise, set the tabs at columnstab1,tab2, … (numbered from 0), and leave blanks beyond the tab stops given unchanged. Tab stops can be separated by blanks as well as by commas.As a GNU extension the last
tabspecified can be prefixed with a ‘/’ to indicate a tab size to use for remaining positions. For example,--tabs=2,4,/8will set tab stops at position 2 and 4, and every multiple of 8 after that.Also the last
tabspecified can be prefixed with a ‘+’ to indicate a tab size to use for remaining positions, offset from the final explicitly specified tab stop. For example, to ignore the 1 character gutter present in diff output, one can specify a 1 character offset using--tabs=1,+8, which will set tab stops at positions 1,9,17,…This option implies the
-aoption.For compatibility, GNU
unexpandsupports the obsolete option syntax,-tab1[,tab2]…, where tab stops must be separated by commas. (Unlike-t, this obsolete option does not imply-a.) New scripts should use--first-only -t tab1[,tab2]…instead.- ‘
-a’
‘--all’ Also convert all sequences of two or more blanks just before a tab stop, even if they occur after non-blank characters in a line.
An exit status of zero indicates success, and a nonzero value indicates failure.
Previous: expand invocation, Up: Operating on characters [Contents][Index]