logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface

Application Usage

       None.

Asynchronous Events

       Default.

Consequences Of Errors

       The  expand  utility  shall  terminate  with  an error message and non-zero exit status upon encountering
       difficulties accessing one of the file operands.

       Thefollowingsectionsareinformative.

Description

       The  expand  utility shall write files or the standard input to the standard output with <tab> characters
       replaced with one or more <space> characters needed  to  pad  to  the  next  tab  stop.  Any  <backspace>
       characters shall be copied to the output and cause the column position count for tab stop calculations to
       be decremented; the column position count shall not be decremented below zero.

Environment Variables

       The following environment variables shall affect the execution of expand:

       LANG      Provide a default value for the internationalization variables that are unset or null. (See the
                 Base  Definitions  volume  of POSIX.1‐2017, Section8.2, InternationalizationVariables for the
                 precedence  of  internationalization  variables  used  to  determine  the  values   of   locale
                 categories.)

       LC_ALL    If  set  to a non-empty string value, override the values of all the other internationalization
                 variables.

       LC_CTYPE  Determine the locale for the interpretation of sequences of bytes of text  data  as  characters
                 (for  example,  single-byte  as opposed to multi-byte characters in arguments and input files),
                 the processing of <tab> and <space> characters, and for  the  determination  of  the  width  in
                 column positions each character would occupy on an output device.

       LC_MESSAGES
                 Determine  the  locale  that  should  be  used  to affect the format and contents of diagnostic
                 messages written to standard error.

       NLSPATH   Determine the location of message catalogs for the processing of LC_MESSAGES.

Examples

       None.

Exit Status

       The following exit values shall be returned:

        0    Successful completion

       >0    An error occurred.

Extended Description

       None.

Future Directions

       None.

Input Files

       Input files shall be text files.

Name

       expand — convert tabs to spaces

Operands

       The following operand shall be supported:

       file      The pathname of a text file to be used as input.

Options

       The  expand  utility  shall conform to the Base Definitions volume of POSIX.1‐2017, Section12.2, UtilitySyntaxGuidelines.

       The following option shall be supported:

       -ttablist
                 Specify the tab stops. The application shall ensure  that  the  argument  tablist  consists  of
                 either  a  single  positive decimal integer or a list of tabstops. If a single number is given,
                 tabs shall be set that number of column positions apart instead of the default 8.

                 If a list of tabstops is given, the application shall ensure that it consists of a list of  two
                 or  more  positive  decimal  integers, separated by <blank> or <comma> characters, in ascending
                 order. The <tab> characters shall be set at those specific column positions. Each  tab  stop  N
                 shall  be an integer value greater than zero, and the list is in strictly ascending order. This
                 is taken to mean that, from the start of a line of output, tabbing to position  N  shall  cause
                 the next character output to be in the (N+1)th column position on that line.

                 In  the  event  of  expand  having  to  process  a <tab> at a position beyond the last of those
                 specified in a multiple tab-stop list, the <tab> shall be replaced by a single <space>  in  the
                 output.

Output Files

       None.

Prolog

       This  manual  page  is part of the POSIX Programmer's Manual.  The Linux implementation of this interface
       may differ (consult the corresponding Linux manual page for details of Linux behavior), or the  interface
       may not be implemented on Linux.

Rationale

       The expand utility is useful for preprocessing text files (before sorting, looking at  specific  columns,
       and so on) that contain <tab> characters.

       See the Base Definitions volume of POSIX.1‐2017, Section3.103, ColumnPosition.

       The  tablist option-argument consists of integers in ascending order. Utility Syntax Guideline 8 mandates
       that expand shall accept the integers (within the single argument)  separated  using  either  <comma>  or
       <blank> characters.

       Earlier versions of this standard allowed the following form in the SYNOPSIS:

           expand [-tabstop][-tab1,tab2,...,tabn][file ...]

       This form is no longer specified by POSIX.1‐2008 but may be present in some implementations.

See Also

tabs, unexpand

       The  Base  Definitions  volume  of  POSIX.1‐2017,  Section3.103, ColumnPosition, Chapter8, EnvironmentVariables, Section12.2, UtilitySyntaxGuidelines

Stderr

       The standard error shall be used only for diagnostic messages.

Stdin

       See the INPUT FILES section.

Stdout

       The standard output shall be equivalent to the input files  with  <tab>  characters  converted  into  the
       appropriate number of <space> characters.

Synopsis

       expand [-t tablist][file...]

See Also