TA的每日心情 | 衰 2019-11-19 15:32 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
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 |
|