zoukankan      html  css  js  c++  java
  • linux 中的col命令

    col命令:

    看介绍是过滤掉reverse line feeds

    要明白什么是reverse line feeds,我们要先明白什么是line feeds

    首先介绍一下new line(换行符)

    https://en.wikipedia.org/wiki/Newline

    ,在linux中,换行符new line,就是line feed ( )这个ASCII符号

    new line 在不同操作系统下是不一样的,

    在windows中是 ,在unix中是 ,

    之所以造成这种原因,是因为传统的打字机实现,

    使用打字机到一行的最后一个字符的时候,应该执行下面的两步操作:

    1.向下换新的一行(换行)

    2.回到行首(回车)

    按理说这就应该是 和 的雏形了,但是实际受打印机的机械结构限制,只使用这两个命令会有一些问题,如还没回到行首又打起来..回到行首的过程中把纸张碰脏了...

    所以不同的打字机会有一些底层的驱动内部实现,同时对外暴露出的接口就形成了一些不同的规范

    所以才出现了 派和 派

    ... reverse line feed 是干吗的呢,就是向上走一行..

    除了向上走一行,我们还可以向左走半行 或者 向左走部分..

    比如说打字机的一个打粗体的hack,打字的时候,想加粗一个字 ,我们可以控制打字机退回到前面的一个字符(backspace)..在重新打一遍,打了两遍就是加醋了

     (上面这些控制字符都会被过滤掉)

    下面看一个实例:  

    man ascii

    我们可以看到NAME和ascii是被加粗的

    man ascii | vi - (将标准输入给vi作为输入 -代表标准输入,因为vi不会自动读取stdin)

    我们可可以看到这里就是历史遗留的hack.. ^H(脱字符+H)是backspace,也就是退回去让他们重打一遍加粗

    man ascii | col

    这里就不是加粗的了,因为backspace控制符已经被过滤掉了。

  • 相关阅读:
    「SHOI2015」脑洞治疗仪
    LOJ 数列分块入门 8
    CF932F Escape Through Leaf
    NOIP2021游记总结
    [HEOI2016/TJOI2016]序列
    【模板】动态树(Link Cut Tree)
    LG P2839 [国家集训队]middle
    JZOJ 7377.欢乐豆
    JZOJ 7392. 【2021.11.17NOIP提高组联考】数 (ds)
    LOJ 数列分块入门 6
  • 原文地址:https://www.cnblogs.com/eret9616/p/12287723.html
Copyright © 2011-2022 走看看