云网牛站
所在位置:首页 > Linux命令 > Expand和Unexpand命令在Linux下的使用示例

Expand和Unexpand命令在Linux下的使用示例

2019-05-30 10:46:58作者:赖以葵稿源:云网牛站

本文通过实际示例解释两个Linux命令,即Expand和Unexpand,这两个命令用于替换具有SPACE字符的文件中的TAB字符,反之亦然。在MS-DOS中还有一个名为“Expand”的命令,用于扩展压缩文件,但Linux Expand命令只是将选项卡转换为空格,这两个命令是GNU coreutils的一部分,由David MacKenzie编写。出于演示目的,我将在本文中使用名为“ywnz.txt”的文本文件,下面给出的所有命令都在Arch Linux操作系统中进行了测试。

Expand和Unexpand命令在Linux下的使用示例

 

Expand命令示例

Expand命令用SPACE字符替换文件中的TAB字符。

现在,让我们将tabs转换为ywnz.txt文件中的空格,并使用命令将结果写入标准输出:

$ expand ywnz.txt

如果你不想在标准输出中显示结果,只需将其上传到另一个文件,如下所示:

$ expand ywnz.txt>output.txt

我们还可以将标签转换为空格,从标准输入读取,为此,只需运行“expand”命令而不提及源文件名:

$ expand

只需输入文本并按Enter键将选项卡转换为空格,按CTRL+C退出。

如果不想在非空白后转换制表符,请使用-i参数,如下所示:

$ expand -i ywnz.txt

我们还可以选项卡分隔一定数量的字符,而不是8(默认值):

$ expand -t=5 ywnz.txt

你甚至可以用逗号分隔多个标签位置,如下所示:

$ expand -t 5,10,15 ywnz.txt

或者:

$ expand -t "5 10 15" ywnz.txt

有关更多详细信息,请参阅手册页:

$ man expand

参考:在Linux命令行中使用Um来创建和维护man手册

 

Unexpand命令示例

Unexpand命令将执行与Expand命令相反的操作,即它会将SPACE charatcers转换为TAB字符,让我向你展示一些示例,以了解如何使用Unexpand命令。

要将文件中的空格(当然是空格)转换为制表符并将输出写入标准输出,请执行以下操作:

$ unexpand ywnz.txt

如果要将输出写入文件而不是仅将其显示到stdout,请使用以下命令:

$ unexpand ywnz.txt>output.txt

将空格转换为制表符,从标准输出读取:

$ unexpand

默认情况下,Unexpand命令仅转换初始空白,如果要转换所有空格而不是仅使用初始空格,请使用-a参数:

$ unexpand -a ywnz.txt

仅转换前导空白序列(请注意它覆盖-a):

$ unexpand --first-only ywnz.txt

标签分隔一定数量的字符,而不是8(启用-a):

$ unexpand -t 5 ywnz.txt

同样,我们可以提到多个标签位置,逗号分隔如下:

$ unexpand -t 5,10,15 ywnz.txt

或者:

$ unexpand -t "5 10 15" ywnz.txt

有关更多详细信息,请参阅手册页:

$ man unexpand

 

结论

以上就是Expand和Unexpand命令在Linux下的使用示例,在处理大量文件时,Expand和Unexpand命令对于用SPACE字符替换不需要的TAB字符非常有用,反之亦然。

 

相关主题

nano命令_Linux nano命令使用详解:字符终端文本编辑器

Linux命令子频道
精选文章
热门文章