如何在Linux系统中将制表符转换为空格?


在处理文件时,有时会遇到这种情况:文件包含许多制表符,而需求是文件中没有制表符,只有空格。如果文件很简单,那么操作很容易,但如果处理的是一个很长的文件,那么这将是一项非常艰巨的任务。

为了将制表符转换为空格,我们使用Linux系统中的expand命令。如果没有指定文件,则expand命令将读取标准输入。

语法

expand命令的通用语法如下:

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

expand命令中可用选项的简要说明。

序号选项及说明
1-i,  --initial
在非空格字符之后不转换制表符
2-t,  --tabs=N
将制表符设置为每N个字符一个,而不是8个字符一个
3-t,  --tabs=LIST
使用逗号分隔的制表符位置列表
4--help
显示帮助信息,然后退出。
5--version
显示版本信息,然后退出。

为了将每个制表符转换为Linux系统中指定的空格数,我们使用-t或--tabs选项与expand命令一起使用。

首先,我们需要使用cat命令创建一个包含制表符的文件。

$ cat >text.txt
Hey,   welcome   to    tutorialspoint...
^C

然后,为了将这些制表符转换为空格,我们使用expand命令,如下所示。

$ expand –-tabs=1 text.txt
Hey, welcome to tutorialspoint...

我们已经看到了上面将文件中制表符转换为空格的例子。为了将标准输入中的制表符转换为空格,我们使用expand命令,如下所示。

$ expand –-tabs=1
Hey,    welcome    to    tutorialspoint...
Hey, welcome to tutorialspoint...

为了在非空格字符后停止转换,我们使用-i或--initial选项与expand命令一起使用,如下所示。

$ expand -i text.txt

或者

$ expand --initial text.txt

要查看有关expand命令的更多信息,我们使用--help选项与expand命令一起使用,如下所示。

$ expand --help

要查看expand命令的版本信息,我们使用--version选项与expand命令一起使用,如下所示。

$ expand --version

执行上述命令后,将提示expand命令的工作版本。

更新于:2021年6月30日

3K+ 浏览量

开启你的职业生涯

完成课程获得认证

开始学习
广告