在本指南中,我们将讨论两个鲜为人知的 Linux 命令,即 扩张 和 展开 用实际例子。 对于那些想知道的人,Expand 命令用于将文件中的 TAB 字符替换为空格字符,而 Unexpand 命令则相反,即用文件中的 TAB 字符替换空格字符。 事实上,MS-DOS 也有一个命令叫“Expand”,用来扩展压缩文件。 但是 Linux Expand 命令只是将制表符转换为空格。 这两个命令是 GNU 核心工具 并由 大卫麦肯齐.
出于演示目的,我将在本指南中使用名为“ostechnix.txt”的文本文件。
展开命令示例
如前所述,Expand 命令将文件中的 TAB 字符替换为空格字符。
要将制表符转换为文件中的空格,例如“ostechnix.txt”,并使用以下命令将结果写入标准输出:
$ expand ostechnix.txt
如果您不想在标准输出中显示结果,只需将其上传到另一个文件,如下所示。
$ expand ostechnix.txt>output.txt
我们还可以将制表符转换为空格,从标准输入读取。 为此,只需运行“expand”命令而不提及源文件名:
$ expand
只需键入文本并按 ENTER 即可将制表符转换为空格。 按 CTRL+C 退出。
如果您不想在非空格后转换制表符,请使用 -一世 像下面这样的标志。
$ expand -i ostechnix.txt
我们还可以让制表符分隔一定数量的字符,而不是 8 个(默认值):
$ expand -t=5 ostechnix.txt
您甚至可以用逗号分隔多个选项卡位置,如下所示。
$ expand -t 5,10,15 ostechnix.txt
或者,
$ expand -t "5 10 15" ostechnix.txt
有关更多详细信息,请参阅手册页。
$ man expand
展开命令示例
这 展开 命令将执行与扩展命令相反的操作。 它将空格字符转换为制表符。 让我向您展示一些示例,以了解如何使用 Unexpand 命令。
要将文件中的空格(当然是空格)转换为制表符并将输出写入标准输出,请执行以下操作:
$ unexpand ostechnix.txt
如果要将输出写入文件而不是仅将其显示到标准输出,请使用以下命令:
$ unexpand ostechnix.txt>output.txt
将空白转换为制表符,从标准输出读取:
$ unexpand
默认情况下,Unexpand 命令只会转换初始空白。 如果要转换所有空白,而不仅仅是初始空白,请使用 -一个 旗帜:
$ unexpand -a ostechnix.txt
仅转换空格的前导序列(请注意,它会覆盖 -一个):
$ unexpand --first-only ostechnix.txt
制表符分开一定数量的字符,而不是 8 (启用 -一个):
$ unexpand -t 5 ostechnix.txt
同样,我们可以用逗号分隔多个选项卡位置,如下所示。
$ unexpand -t 5,10,15 ostechnix.txt
或者,
$ unexpand -t "5 10 15" ostechnix.txt
有关更多详细信息,请参阅手册页。
$ man unexpand
建议阅读:
- 带有初学者示例的折叠命令教程
当您处理大量文件时,Expand 和 Unexpand 命令对于将不需要的 TAB 字符替换为 SPACE 字符非常有帮助,反之亦然。
感谢您的光临!
帮助我们帮助您:
- 订阅我们的电子邮件通讯: 立即注册
- 支持 OSTechNix: 通过贝宝捐款
- 下载免费的电子书和视频: TradePub 上的 OSTechNix
- 联系我们: 红迪网 | Facebook | 推特 | 领英 | RSS订阅
祝你有美好的一天!!
CLIExpandLinuxLinux 基础Linux 命令Linux howtoUnexpand