Linux系统之col命令的使用

 更新时间:2025年04月16日 08:46:38   作者:门前灯  
这篇文章主要介绍了Linux系统之col命令的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Linux之col命令的使用

col 是一个用于过滤输入中的反向(及半反向)行进控制字符,确保输出顺序正确,并仅包含正向和半正向的行进控制符。此外,它还可以在可能的情况下用制表符替换空白字符。

这对于处理 nroff(1)tbl(1) 的输出特别有用。

基本语法

col [选项] < 输入文件 > 输出文件

核心选项

选项描述
-b --no-backspaces忽略所有退格符(只打印每列最后字符)
-f --fine启用精细模式(允许半行前进符)
-p --pass放行未知控制序列(默认会过滤)
-h --tabs将连续空格转为制表符(默认行为)
-x --spaces禁用空格转制表符(保持原样空格)
-l NUM --lines=NUM设置行缓冲数量(默认128行)

使用示例

1. 基础过滤

# 处理man手册输出
man ls | col -b > ls_manual.txt

# 处理tbl生成的表格
tbl data.t | nroff | col -x > formatted_table.txt

2. 高级控制

# 保留半行控制符(用于精细排版)
groff -Tascii document.roff | col -f

# 处理含特殊控制符的文件
col -bp < control_chars.txt > cleaned.txt

处理的控制字符

转义序列十进制值功能
ESC-7\0337反向换行
ESC-8\0338半反向换行
ESC-9\0339半正向换行
\b8退格(首列忽略)
\n10换行+回车
\r13回车
\t9水平制表
\v11垂直制表(反向换行)

典型工作流

注意事项

字符集处理

  • 自动跟踪Shift In/Out(字符集切换)
  • 确保输出时字符集正确

缓冲限制

  • 默认缓冲128行(可通过-l调整)
  • 尝试回溯已刷新行会触发警告

特殊场景

# 处理包含ANSI颜色代码的文本
col -bp < colored_text.log > plain_text.log

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Centos 安装 PHP7.4 和 Nginx的操作方法

    Centos 安装 PHP7.4 和 Nginx的操作方法

    这篇文章主要介绍了Centos 安装 PHP7.4 + Nginx的操作方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • CentOS7增加Swap空间的两种方法

    CentOS7增加Swap空间的两种方法

    当服务器物理内存不足时,增加Swap空间可以作为虚拟内存使用,帮助系统处理内存压力,本文给大家介绍了CentOS7增加Swap空间的两种方法:创建新的Swap文件和调整Swap分区大小,需要的朋友可以参考下
    2025-05-05
  • Linux持续集成自动化安装Maven的方法

    Linux持续集成自动化安装Maven的方法

    今天小编就为大家分享一篇关于Linux持续集成自动化安装Maven的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • windows10 更新Ubuntu20.04 LTS的方法步骤

    windows10 更新Ubuntu20.04 LTS的方法步骤

    这篇文章主要介绍了windows10 更新Ubuntu20.04 LTS的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Linux基础命令之mktemp详解

    Linux基础命令之mktemp详解

    创建临时文件或者目录,这样的创建方式是安全的。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。这篇文章主要介绍了Linux基础命令之mktemp ,需要的朋友可以参考下
    2018-10-10
  • Linux文件查找命令总结(上篇)

    Linux文件查找命令总结(上篇)

    这篇文章主要介绍了Linux文件查找命令总结(上篇),本文章内容详细,通过案例可以更好的掌握文件查找的相关命令,本篇为上篇,需要的朋友可以参考下
    2023-01-01
  • Linux 4.9内核正式发布!来看看更新了什么?

    Linux 4.9内核正式发布!来看看更新了什么?

    Linus Torvalds 在 2016年12月11日发布了Linux内核4.9的正式版本,这次主要带来了一些新的功能和一些驱动更新,当然,还有一些底层的改进。想要看看详细的介绍,下面来通过这篇文章来一起看看吧。
    2016-12-12
  • linux环境下卸载oracle 11g的过程

    linux环境下卸载oracle 11g的过程

    这篇文章主要介绍了linux环境下卸载oracle 11g的过程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • linux操作系统内核升级过程

    linux操作系统内核升级过程

    这篇文章主要介绍了linux操作系统内核升级过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • Linux中RPM文件操作的常用命令总结

    Linux中RPM文件操作的常用命令总结

    这篇文章主要给大家介绍了关于Linux中RPM文件操作的常用命令,文中通过示例介绍的很详细,对大家的理解和学习很有帮助,有需要的朋友们可以参考借鉴,下面来一起学习学习吧。
    2016-11-11

最新评论