2837

14 分钟

#Bash 的 expand 命令

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

功能

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

类型

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

参数

  • 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/16

更新于 2025/11/16