TA的每日心情 | 衰 2019-11-19 15:32 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
. [! U: O( n' i. P. n* `
Linux fmt命令用于编排文本文件。
# }5 m( W2 K, e3 K) ?% f* i/ |3 m- w# s( w) M
fmt指令会从指定的文件里读取内容,将其依照指定格式重新编排后,输出到标准输出设备。若指定的文件名为"-",则fmt指令会从标准输入设备读取数据。
& }- @( ^2 c% i; D6 R% h* s) k) \1 s3 y) c, S8 y
3 k0 }' S0 l" B$ Q
语法* }# M5 i( a% U$ |5 k
) b) `& X& a0 S lfmt [-cstu][-p<列起始字符串>][-w<每列字符数>][--help][--version][文件...]
3 Q7 F" {. N+ ]6 q: H7 S) s3 z' S! u% A
8 g- z- X0 X( q" @& T" U/ H( }
4 a7 K0 h0 N2 J7 u# J参数说明:3 {9 m- F1 g" q: I8 q& U: g; E
* {( k) ?/ m, M% e& I- D5 R
-c或--crown-margin 每段前两列缩排。
6 d. D* a. z* b2 d( r-p<列起始字符串>或-prefix=<列起始字符串> 仅合并含有指定字符串的列,通常运用在程序语言的注解方面。
' C4 r! }0 \0 g F8 M-s或--split-only 只拆开字数超出每列字符数的列,但不合并字数不足每列字符数的列。
) Y& O9 s$ q7 p6 o! ^1 r-t或--tagged-paragraph 每列前两列缩排,但第1列和第2列的缩排格式不同。2 L1 a3 r' ^0 G8 t9 s7 ^
-u或--uniform-spacing 每个字符之间都以一个空格字符间隔,每个句子之间则两个空格字符分隔。- Q( ^" Y* W/ Y" _0 u
-w<每列字符数>或--width=<每列字符数>或-<每列字符数> 设置每列的最大字符数。. S) q6 I7 S/ l: n( V; p
--help 在线帮助。* K! f0 y( v& i \
--version 显示版本信息。2 J* T! _/ k' e; t: N) @
( `5 U, o* b0 ^ e% |& o
4 d2 l3 z5 l G; c$ X% Q实例$ V; `1 ^3 k' J' L
: ?; b0 t4 L% N% _4 M4 A
重排指定文件。如文件testfile共5 行文字,可以通过命令对该文件格式进行重排,其命令为:
1 ?, [& Z0 z" Q, s; J8 R' |) L! D+ f' b6 ^
fmt testfile 6 W; f% Q V) c; ]# \* a! d
. |7 l) Z7 I5 i7 H/ @3 F; D; ~+ r2 G1 K- T
输出结果如下:# c3 P: e/ X9 N/ k, V l/ U# t8 O- p
1 k7 l( u' A% @5 q+ \$ fmt testfile #重排testfile 文件 $ k# l8 Q. p2 `8 d8 W! f
hello Linux! Linux is a free Unix-type operating system. This is a
$ q7 ^1 X/ U: V9 QLinux testfile! Linux Linux - g3 b! w% O( H) l7 p
8 p1 [) t0 R" } G( r2 n* o4 C$ J k/ n' j* g' Y1 i
将文件testfile重新排成85 个字符一行,并在标准输出设备上输出,其命令应该为:' K5 O0 d) c9 [2 ]1 u
8 s( d8 h" @+ c# c( \, C$ G
fmt -w 85 testfile
2 G! \9 P" F: O+ C } F! w
5 @! M9 |7 ~6 u
) G" {; z1 d% q$ d: D) o9 a为了对比,先使用cat 命令查看文件内容:- G* P# J" f5 x5 T0 ?
& v- P t1 P5 S
$ cat testfile #查看testfile 文件的内容 . }+ p {: G+ d6 k: a0 D# g! O- Q
hello Linux! . t$ q t- }2 t- i& @
Linux is a free Unix-type operating system. 8 @' T$ K1 _! U1 M! x4 ^3 Z0 \( c
This is a Linux testfile!
9 X0 y' S) v& M2 K; O$ m sLinux , @1 G4 q( F3 q
Linux 6 ~! i' [# {& r" f% Q4 ^% y
4 S& |; z; T }$ D
+ w, [0 T! k3 p, ^( P3 p8 A使用fmt命令重排之后,输出结果如下:
. _4 d& ]) Q9 | N1 \9 l2 s- F: {$ [: ?
$ fmt -w 85 testfile #指定重排宽度为85个字符 $ l' d% f7 m, B& d6 x
hello Linux! Linux is a free Unix-type operating system. This is a Linux testfile! . l* C @5 R( k, a i
Linux Linux 5 K: ?2 ~( Q) _$ `. y
|
|