详解 Linux 中的 col 命令及示例

Linux 中的 col 工具非常强大,它主要用于过滤掉文本中的反向换行符,并尽可能将空白字符替换为制表符。我们在处理来自 INLINECODE000aadbb 和 INLINECODE5864efc9 等命令的输出时,会发现它特别实用。col 工具从标准输入读取数据并将其写入标准输出。因此,它在管道流中处理文本时是一个非常方便的实用程序。

语法

col [-bfhpx] [-l num]

基础示例

首先,让我们构建一个名为 ****sample.txt**** 的示例文件,其中包含带有反向换行符和空白字符的文本:

!Basic Examplesample.txt data

然后,我们运行不带任何选项的基础 ‘col‘ 命令:

cat sample.txt | col > output.txt

这条命令会读取输入内容,去除反向换行符,并使用经过优化的空白字符。

!<a href="https://media.geeksforgeeks.org/wp-content/uploads/20241014142139714665/2024-10-1414-21.png">2024-10-1414-21Basic col command example

col 命令的关键选项

选项

描述

-b

不输出退格符

-f

允许前向半行换行

-h

不输出多个空格来代替制表符

-l num

在内存中至少缓冲 num 行

-p

原样传递未知的控制序列

-x

输出多个空格来代替制表符### 1. -b (不输出退格符)

使用此选项,退格符将不会显示,取而代之的是,只打印写入每个列位置的最后一个字符。

cat sample.txt | col -b > output_no_backspace.txt

!-b (No Backspaces)

2. -f (允许前向半行换行)

此选项允许半行换行符通过,这对于某些文本格式可能非常有用。

cat sample.txt | col -f > output_half_line_feeds.txt

! -f (Forward Half Line Feeds)

3. -h (不扩展多个空格)

此选项不会产生多个空格,而是在可能的情况下使用制表符:

cat sample.txt | col -h > output_no_multiple_spaces.txt

!-h Do Not Expand Multiple Spaces

4. -l (缓冲行数)

此选项指定在内存中缓冲的行数;默认值为 128 行。

cat sample.txt | col -l 256 > output_buffered.txt

!-l (num Buffer Lines)

5. -p: 传递未知的控制序列

此选项允许未知的控制序列原样通过,而不被过滤掉。

cat sample.txt | col -p > output_pass_control.txt

6. -x: 输出多个空格

此选项会为每个制表符打印多个空格。对于某些类型的布局格式,这可能是必要的。

cat sample.txt | col -x > output_multiple_spaces.txt

!<a href="https://media.geeksforgeeks.org/wp-content/uploads/20241014143314459304/2024-10-1414-32.png">2024-10-1414-32

总结

col 命令 是 Linux 文本处理工具箱中的一个通用工具。在格式化复杂文本(如 man 手册页)或在各种文本格式化工具的输出场景中,它是不可或缺的。此外,了解其不同的选项和用法,将使我们在文本处理工作流中能够有效地控制换行符、空白字符和控制字符。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/45501.html
点赞
0.00 平均评分 (0% 分数) - 0