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