初学者解释的Linux unexpand命令(带示例)
在Linux命令行上工作需要学习如何快速执行一些重复性任务。 你可能迟早会涉及的一项任务是将空白转换为制表符,反之亦然。 在本教程中,我们将讨论一个命令行实用程序 - 称为unexpand - 在这种情况下会很有帮助 。
但在开始之前,值得一提的是本文中的所有示例都已在Ubuntu 16.04 LTS机器上进行了测试。
Linux未展开命令
unexpand命令可让您将空格转换为制表符。 以下是它的语法:
unexpand [OPTION]... [FILE]...
以下是手册页描述的方式:
Convert blanks in each FILE to tabs, writing to standard output. With no FILE, or when FILE is -, read standard input.
以下是一些问答式样的例子,应该给你一个关于未展开命令如何工作的好主意。
Q1。 如何使用unexpand命令?
假设你有一个文本包含标签的文件。 现在,无论出于何种原因,您可以使用expand命令将这些制表符转换为空格,现在您想要再次将空格转换为制表符,那么在这种情况下,可以使用unexpand命令。
例如:
unexpand file1
该工具在stdout上生成转换后的输出。 所以要保存它,你可以将它重定向到某个文件。 例如:
unexpand file1 > file2
值得一提的是,默认情况下,该工具仅适用于初始空白。 您可以使用-a选项告诉该实用程序您要将所有空格/空格转换为制表符。
Q2。 如何强制展开只转换初始/前导空白?
该工具提供了一个选项,强制它仅转换初始空格或空格(即使存在-a选项)。 有问题的选项是- 第一只 。
unexpand --first-only -a file1 > file2
Q3。 -t选项的作用是什么?
那么,-t选项有多个角色。 它接受一个单一的号码或逗号分隔的数字列表。 当你传递一个数字(比如'n')时,unexpand命令确保它将文件中的空格压缩到每个'n'位置的选项卡中。
例如,要使工具将空白压缩到每3个位置的选项卡中,请按以下方式使用此选项:
unexpand -t 3 file1 > file2
另一方面,如果给这个选项一个命令分隔的数字列表,工具将制表位放在这些特定位置。
unexpand -t 1,2,3 file1 > file2
Q4。 如何使STDIN的未展开阅读输入?
这很简单 - 只需运行没有任何文件名作为输入的命令(使用ctrl + D告诉实用程序你已完成)。
以下是我正在谈论的内容:
unexpand
结论
取决于你所做的工作类型,未展开的命令可能会有很大的帮助。 在本教程中,我们讨论了该工具提供的大部分命令行选项。 要了解更多信息,请转到其手册页 。