Linux colrm 命令初学者教程(附示例)
在此页
- Linux colrm 命令
- Q1。如何使用 colrm 命令?
- Q2。如何只删除一列?
- Q3。 colrm 如何处理退格键和制表符?
- Q4。如何让 colrm 接受来自标准输入的输入?
- 结论
如果您主要在 Linux 命令行上工作,文本编辑可能是您发现自己参与的最频繁的任务之一。无论是编辑脚本、源代码文件、配置文件还是常规文本文件,都有几个文本帮助您工作的编辑工具。
colrm 就是这样一种工具,我们将在此处使用一些易于理解的示例对其进行讨论。但在我们开始之前,值得一提的是,这里的所有示例都已经在 Ubuntu 18.04 LTS 机器上进行了测试。
Linux colrm 命令
Linux 中的 colrm 命令可让您从文件中删除选定的列。以下是它的语法:
colrm [start [stop]]
以下是 colrm 手册页如何描述该工具的作用:
The colrm utility removes selected columns from the lines of a file. A
column is defined as a single character in a line. Input is read from
the standard input. Output is written to the standard output.
If only the start column is specified, columns numbered less than the
start column will be written. If both start and stop columns are speci?
fied, columns numbered less than the start column or greater than the
stop column will be written. Column numbering starts with one, not zero.
以下是一些 Q&A 风格的示例,可以让您对 colrm 命令的工作原理有一个很好的了解。
Q1。如何使用 colrm 命令?
如前所述,colrm 命令允许您删除列。因此,您只需指定一个数值,与该值对应的列以及所有后续列都将在输出中被删除。
例如,这是一个包含以下文本的文本文件 file1.txt:
abcdefgh
对于 colrm,每个字母表示一列。所以现在,假设要求删除第 6 列和所有后续列,则可以使用以下方法完成:
colrm 6 < file1.txt
以下是上述命令将产生的输出:

所以你可以看到第 6、7 和 8 列被砍掉了。
Q2。如何只删除一列?
在这种情况下,您需要同时指定开始列和停止列。假设需求是只删除第 6 列,那么为此,您需要按以下方式执行 colrm 命令:
colrm 6 6 < file1.txt
这是此命令在我的系统上产生的输出:

所以你只能看到第 6 列被删除了。不用说,您可以通过这种方式删除一系列列。例如:
colrm 2 6 < 文件 1.txt
此命令将删除范围从 2 到 6 的列。值得记住的是列编号从 1 开始,而不是从零开始。
Q3. colrm 如何处理退格键和制表符?
工具手册页非常清楚地解释了这一点。以下是相关摘录:
Tab characters increment the column count to the next multiple of eight.
Backspace characters decrement the column count by one.
另外,请记住,成功时 colrm 返回 0,如果发生错误则返回 >0。
Q4.如何让 colrm 接受来自标准输入的输入?
那很容易。您不必做任何额外的事情——只需在输入中提供列号(或范围)。
这是一个例子:

因此该命令在运行时等待您提供输入,然后在您按下回车键后产生 otutput。
结论
您可能会同意,从文本文件中删除列时,colrm 命令是一个有用的小实用程序。在本教程中,我们讨论了它的几乎所有功能。完成这些练习后,您可以通过前往其手册页来了解有关该命令的更多信息。