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