国际访客建议访问 Primers 编程伙伴 国际版站点 > Bash 教程 > expand 以获得更好的体验。

# Bash 的 expand 命令

expand [OPTION]... [FILE]...

!subtitle:功能

将制表符(\t)转换为空格。

!subtitle:类型

可执行文件(/usr/bin/expand),属于 coreutils

!subtitle:参数

  • OPTION 选项:

    • -i, --initial - 非空格后的制表符不要转换

    • -t, --tabs=N - 制表位的宽度设为 N;默认为 8

    • -t, --tabs=LIST - 使用 LIST 指定制表位的位置

    • --help - 显示帮助

    • --version - 显示版本

  • FILE - 文件列表;如果没有这个参数或指定为 -,则读取标准输入

# 示例

$ echo -e "A\tB\tC" > 1.txt     # 创建一个文件
$ cat 1.txt                     # 查看文件
A	B	C
$ expand 1.txt                  # 默认制表位宽度为 8
A       B       C
$ expand -t 4 1.txt             # 指定制表位宽度为 4
A   B   C
$ expand -t 4,16 1.txt          # 指定制表位的位置为 4,16
A   B           C

# 推荐阅读

# 手册

EXPAND(1)                        User Commands                       EXPAND(1)

NAME
       expand - convert tabs to spaces

SYNOPSIS
       expand [OPTION]... [FILE]...

DESCRIPTION
       Convert tabs in each FILE to spaces, 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.

       -i, --initial
              do not convert tabs after non blanks

       -t, --tabs=N
              have tabs N characters apart, not 8

       -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
       GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
       Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT
       Copyright © 2023 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
       unexpand(1)

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

GNU coreutils 9.4                 April 2024                         EXPAND(1)
本文 更新于: 2025-11-27 09:38:14 创建于: 2025-11-27 09:38:14