找回密码
 注册
关于网站域名变更的通知
查看: 416|回复: 4
打印 上一主题 下一主题

Linux fmt命令

[复制链接]
  • TA的每日心情

    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2021-9-22 14:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    0 v! l+ e: k/ l$ q8 m5 j
    Linux fmt命令用于编排文本文件。. r9 e4 T) ?" G0 r

    9 h* _3 D) y6 s5 Y# f/ J# afmt指令会从指定的文件里读取内容,将其依照指定格式重新编排后,输出到标准输出设备。若指定的文件名为"-",则fmt指令会从标准输入设备读取数据。
    9 Q% C  q7 c+ f0 Q! }2 B: I6 h! g4 y; @$ e6 j9 A6 C. t/ [8 p, e
    1 u5 f* ?+ \8 E
    语法
    / @  G* }/ d# o/ z5 R" Q
    3 F6 q8 o6 @- R0 gfmt [-cstu][-p<列起始字符串>][-w<每列字符数>][--help][--version][文件...]  P# U' A8 `! S& H' t

    , m2 \0 I! |( B8 O8 r/ t7 y: u7 v1 L9 V! o5 D" A: G9 g# s, E

    ! |! o, ]# i0 B参数说明:
    ( N7 L8 a, T" s* N0 S) \  W1 e, |4 H/ U, x6 W, m+ C, m5 n$ d
    -c或--crown-margin 每段前两列缩排。' E5 [. e2 U1 @+ F% a% w- H
    -p<列起始字符串>或-prefix=<列起始字符串> 仅合并含有指定字符串的列,通常运用在程序语言的注解方面。9 r. O3 D8 j# ]( W" h, |3 L" \+ r
    -s或--split-only 只拆开字数超出每列字符数的列,但不合并字数不足每列字符数的列。; a  j2 I$ m/ O1 J) C5 L% F
    -t或--tagged-paragraph 每列前两列缩排,但第1列和第2列的缩排格式不同。
    ! O- A# a+ Q2 Q  v3 H3 z-u或--uniform-spacing 每个字符之间都以一个空格字符间隔,每个句子之间则两个空格字符分隔。
    , M. a( U* w- n$ i2 D: k-w<每列字符数>或--width=<每列字符数>或-<每列字符数> 设置每列的最大字符数。
    & v, _' @5 o2 d--help 在线帮助。
    . c, o0 M' S* S- s- C--version 显示版本信息。
    , c  U4 [4 m' o5 w8 e  j
    5 x; u1 C" t! W) |& @0 g: Y; X9 p% K' X; O3 D/ A
    实例" Y% d0 W0 u! Y/ H! f

    , v9 o8 J7 A4 w% A) Z重排指定文件。如文件testfile共5 行文字,可以通过命令对该文件格式进行重排,其命令为:: p' p9 `' J( L6 x* k

    ; V* |; w7 i( N, h7 {) Jfmt testfile - ^! ]& y8 d6 M0 O! @$ Y3 }# j
    4 v) @9 V3 `0 d- A" D% U, G
    + L% {# Q1 D. Y" X% N
    输出结果如下:5 Y% @3 Z* s3 i
    4 B6 d, Y4 S) _0 t* a
    $ fmt testfile #重排testfile 文件  - ~# t4 }+ l' W- e  ]
    hello Linux! Linux is a free Unix-type operating system. This is a  . o- {2 `$ B4 L7 w
    Linux testfile! Linux Linux # m7 J& {) w9 I* m& _
    6 s) D" k% |  E% a( U1 V
    # t* H3 M) [" B3 @0 w
    将文件testfile重新排成85 个字符一行,并在标准输出设备上输出,其命令应该为:3 u/ d2 S5 z0 c8 g+ X

    / r  Z7 T7 _5 g) V" @fmt -w 85 testfile2 W9 G5 h2 k4 q' r/ f- P, z0 q

    ! G5 X$ ^) M, K! ]9 _% X7 o4 {+ k5 y0 m3 L; d$ ]
    为了对比,先使用cat 命令查看文件内容:( o' h  L' \, g/ y
    $ x0 Z, J$ L% L/ f8 u0 H
    $ cat testfile #查看testfile 文件的内容  ) |4 Y9 _: c& {0 \5 z& M) b# M
    hello Linux!  
    + N6 N" T% ~- j2 L' v! b! WLinux is a free Unix-type operating system.  ' D" j% \3 p) A2 E( d0 F. m1 |- T
    This is a Linux testfile!  : Z! S" ?" f1 }" }/ F" T4 o. T0 |
    Linux  - C( S$ O* g) ^* {
    Linux
    , c3 p3 ?4 C' }' y/ [6 p
    3 W: m* g' ]  |5 S. J# k6 y% G- [/ z4 j
    使用fmt命令重排之后,输出结果如下:7 I% f1 d% \9 j  b

    % b+ B3 ~' g/ j$ }/ n8 Y$ fmt -w 85 testfile #指定重排宽度为85个字符  
    & r3 _2 e6 _" A( ahello Linux! Linux is a free Unix-type operating system. This is a Linux testfile!  
    4 p9 I5 g8 O. ]) fLinux Linux
    1 y+ F  g* \6 n& R# T' t8 p

    该用户从未签到

    2#
    发表于 2021-9-22 15:02 | 只看该作者
    这是编排文本的命令吧

    该用户从未签到

    3#
    发表于 2021-9-22 15:30 | 只看该作者
    Linux fmt命令用于编排文本文件
  • TA的每日心情
    慵懒
    2020-6-13 15:46
  • 签到天数: 1 天

    [LV.1]初来乍到

    4#
    发表于 2021-9-22 15:31 | 只看该作者
    fmt指令会从指定的文件里读取内容,将其依照指定格式重新编排后,输出到标准输出设备

    该用户从未签到

    5#
    发表于 2021-9-22 15:31 | 只看该作者
    若指定的文件名为"-",则fmt指令会从标准输入设备读取数据
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-24 20:56 , Processed in 0.156250 second(s), 24 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表