在Linux中使用命令行时,可能会出现这样的情况,即要求用空格替换文件中的制表符。如果文件很小,这项任务并不困难,但如果你处理的文件很大,或者更糟糕的是,有数百个文件需要你进行更改,该怎么办?不用担心,有一个专门为这项工作构建的命令行工具。这个有问题的工具是expansion,在本教程中,我们将使用一些易于理解的示例讨论expansion的基础知识。但在我们这样做之前,值得分享的是,这里提到的所有命令和指令都已经在Ubuntu 16.04LTS上进行了测试。
Linux扩展命令
如前所述,expand命令允许您将制表符转换为空格。以下是命令的语法:
expand [OPTION]... [FILE]...
以下是该工具的手册页如何定义它:
Convert tabs in each FILE to spaces, writing to standard output. With no FILE, or when FILE is -,
read standard input.
以下问答式示例应该能让您更好地了解expand命令的工作原理。
Q1.如何使用展开命令将制表符转换为空格?
expand的基本用法非常简单:将文件名(包含选项卡)作为参数传递给工具。
例如:
expand file1
就是这样。该工具将在输出中生成文件的内容,唯一的变化是空格而不是制表符。请注意,如果您想在多个文件中进行这样的更改,只需在输入中传递所有文件名,选项卡将一次转换为所有文件中的空格。
当然,您可以使用重定向运算符轻松地将输出传输到其他文件。
expand file1>file2
Q2.如何将扩展的影响仅限于初始选项卡?
有时,您可能只想转换行前的制表符,并保留非空格后的制表符。expand命令也允许您这样做,只是您必须使用-i命令行选项。
expand -i file1
Q3.如何调整标签转换为的空格数?
默认情况下,展开会将选项卡转换为相应数量的空格。但是,如果需要,可以使用-t命令行选项调整空格的数量。此选项要求您输入新的空格数。
例如,在我们的例子中,选项卡默认转换为4个空格。因此,为了将这些空格减少到1,我们使用了以下命令:
expand -t1 file1
请注意,当没有文件作为输入传递给此工具,或者您传递连字符“-”作为文件名时,将从标准输入(STDIN)读取输入内容。
结论
exapnd命令提供了一组有限的功能,但鉴于该工具是为非常特定的目的创建的,它提供的选项绰绰有余。只要练习你读过的任何东西,你就应该能够马上使用这个工具。有兴趣的人可以在这里访问该命令的手册页。
暂无评论内容