美文网首页
20. 格式化输出

20. 格式化输出

作者: 独木舟的木 | 来源:发表于2019-02-05 20:04 被阅读5次

    [TOC]

    简单的格式化工具

    nl 添加行号

    nl 命令用于简单的任务。它添加文件的行数:

    $ nl foo.txt | head
         1  The quack brown fox jumped over the lax dog.
         2  I am the second Line.
         3  This is the third Line.
         
    # 同上
    $ cat -n foo.txt
         1  The quack brown fox jumped over the lax dog.
         2  I am the second Line.
         3  This is the third Line.
    
    • nl 既能接受多个文件作为命令行参数,也能标准输出。
    • nl 还有相当数量的选项并支持一个简单的标记方式去允许更多复杂的方式的计算。
    • nl 在计算文件行数的时候支持一个叫 “逻辑页面” 的概念。这允许 nl 在计算的时候去重设(再一次开始)可数的序列。
    • 如果 nl 同时处理多个文件,它会把他们当成一个单一的文本流。
    常用 nl 选项 含义
    -b style 把 body 按被要求方式数行,可以是以下方式:
    a = 数所有行
    t = 数非空行。这是默认设置。
    n = 无
    pregexp = 只数那些匹配了正则表达式的行
    -f style 将 footer 按被要求设置数。默认是无
    -h style 将 header 按被要求设置数。默认是
    -i number 将页面增加量设置为数字。默认是一。
    -n format 设置数数的格式,格式可以是:
    ln = 左偏,没有前导零。
    rn = 右偏,没有前导零。
    rz = 右偏,有前导零。
    -p 不要在没一个逻辑页面的开始重设页面数。
    -s string 在没一个行的末尾加字符作分割符号。默认是单个的 tab。
    -v number 将每一个逻辑页面的第一行设置成数字。默认是一。
    -w width 将行数的宽度设置,默认是六。

    fold 限制文件列宽

    # -w: 设定了行宽为 12 个字符。如果没有字符设置,默认是 80。
    $ fold -w 12 foo.txt
    The quack br
    own fox jump
    ed over the 
    lax dog.
    I am the sec
    ond Line.
    This is the 
    third Line.
    
    # -s: 增加考虑单词边界
    $ fold -w 12 -s foo.txt
    The quack 
    brown fox 
    jumped over 
    the lax dog.
    I am the 
    second Line.
    This is the 
    third Line.
    

    fmt 文本格式转换器

    fmt 程序同样折叠文本,外加很多功能。它接受文本或标准输入并且在文本流上呈现照片转换。

    $ fmt -w 50 fmt-info.txt  | head
    However, in the name of opening your eyes to
    maybe something a bit different, I’m going
    to approach this a bit differently. I want to
    consider a list of possible distributions that
    are not only outstanding candidates but also
    easy to use, and that can serve many functions
    within your business. In some cases, my choices
    are drop-in replacements for other operating
    systems, whereas others require a bit of work
    to get them up to speed.
    

    默认来说,空白行,单词间距,还有缩进都会在输出中保留;持续输入不同的缩进的流不会被结合;tabs 被用来扩展 输入并且引入输出 。

    到这里,文章就戛然而止了。可能是没翻译完还是什么。
    参考:https://billie66.gitbooks.io/tlcl-cn/content/chap21/formatting-output.html

    pr 让文本为打印做好准备

    printf 格式化数据并打印

    groff 一个文件格式系统

    相关文章

      网友评论

          本文标题:20. 格式化输出

          本文链接:https://www.haomeiwen.com/subject/jxivsqtx.html