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

Linux fmt命令

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    3 J( ^+ c1 @  G) C9 n1 [6 ]
    Linux fmt命令用于编排文本文件。
    % W' S( c* g) x5 R' J+ k, l- T& k- ^
    8 ]' w) ~$ s# [3 M; N* Ifmt指令会从指定的文件里读取内容,将其依照指定格式重新编排后,输出到标准输出设备。若指定的文件名为"-",则fmt指令会从标准输入设备读取数据。* k6 N; P0 U5 Z, }

    % \8 E  f8 m- Z( l) v  z! c$ s" ?" X: W+ e; b, j5 I  k9 x
    语法  n% X8 n7 m3 f* z
    9 w$ K: v$ `5 g, {& l
    fmt [-cstu][-p<列起始字符串>][-w<每列字符数>][--help][--version][文件...]
    # a% X' ?2 ?$ t
    " F& t/ V% ?$ `* c  Z3 R, h( m- a4 a; j. P

    7 j+ R7 ^5 L5 c) x参数说明:) Q& \0 N+ O: s/ R; q# f3 Q, \# [

    7 {! c% k; q' b-c或--crown-margin 每段前两列缩排。. |; U2 @) ]6 i( x7 [- w  S
    -p<列起始字符串>或-prefix=<列起始字符串> 仅合并含有指定字符串的列,通常运用在程序语言的注解方面。
    " p5 o7 b7 F  G* L# h-s或--split-only 只拆开字数超出每列字符数的列,但不合并字数不足每列字符数的列。
    8 E6 A* E/ v6 c) A5 H. G-t或--tagged-paragraph 每列前两列缩排,但第1列和第2列的缩排格式不同。
    ' e; F8 I2 H" `8 E-u或--uniform-spacing 每个字符之间都以一个空格字符间隔,每个句子之间则两个空格字符分隔。3 H" @  ^( q( b% h
    -w<每列字符数>或--width=<每列字符数>或-<每列字符数> 设置每列的最大字符数。! D$ k1 e* Z$ p7 Z* e! Z
    --help 在线帮助。9 T: ]2 T& g9 a) A6 w: F
    --version 显示版本信息。
    : T- i$ M. P7 T* G" Y
    , V6 {3 U6 i, `. i5 [4 S/ ^& P0 h) b5 s' d! R: C0 {
    实例: F% Z2 x1 R- a7 }. A: N

    ) a* ]9 U* e) `# G+ l% N! q+ ]4 p- W, w重排指定文件。如文件testfile共5 行文字,可以通过命令对该文件格式进行重排,其命令为:
    9 v* Q0 J6 T+ I6 \" j' U# `2 Y. H9 n% I9 P% W+ i  z, H8 v. W
    fmt testfile
    2 p4 o4 |& k8 S4 V  a& W
    3 B# S- n3 @! t) c: r- s) C- G6 k6 B+ F5 N, v0 |0 R4 s  ]
    输出结果如下:. e, I- i9 j9 {/ A* x- }! q4 a
    + v' G" j, l" ]9 e# G5 D
    $ fmt testfile #重排testfile 文件  
    5 |/ C* s+ E6 z/ Ghello Linux! Linux is a free Unix-type operating system. This is a  + _! B- M% z" g! }2 {+ i9 w
    Linux testfile! Linux Linux * ?* H( u' n% Q* j3 f4 D
    6 f- x$ _+ A8 L) O: D  {

    & i* t) f! c! ?. x将文件testfile重新排成85 个字符一行,并在标准输出设备上输出,其命令应该为:0 ~" t. p5 s# \$ U9 Z

    * k$ R3 i9 [& K: {2 yfmt -w 85 testfile
    8 D# r. Z: y9 d
    : y' W9 W* Y3 }( ^4 s+ t6 s+ K; F  i: b' }4 R* D/ ?
    为了对比,先使用cat 命令查看文件内容:6 {$ A" H, |* I5 ?9 Z
    ! D, b6 `; q! s( [
    $ cat testfile #查看testfile 文件的内容  6 M8 F+ `% j7 f, ~
    hello Linux!  
    . I) i2 K5 U. g! q7 [1 @0 T9 s# f) ]Linux is a free Unix-type operating system.  
    8 ]; [8 s6 U, m3 M$ o4 oThis is a Linux testfile!  6 o' Z/ B- p, D3 c) L$ U7 z
    Linux  1 v; A2 ?; E& P- ]( C% S
    Linux
    : `  ], |; ?0 P. h! o$ M
    * ^5 c0 z4 f" r$ c9 a" T. q7 P9 O& j# ?+ G* w2 Z; s
    使用fmt命令重排之后,输出结果如下:0 d4 _0 ~- u+ ]0 x  o

    $ i/ E; X* z7 ~3 n' }; _* t! D$ fmt -w 85 testfile #指定重排宽度为85个字符  - J( v5 }6 O- r2 X4 F4 w
    hello Linux! Linux is a free Unix-type operating system. This is a Linux testfile!  & m* i3 S5 L* H: x
    Linux Linux * A9 z+ o6 [, Q: R

    该用户从未签到

    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-8-11 17:38 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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