TA的每日心情 | 衰 2019-11-19 15:32 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
9 c7 J$ S$ w$ B' Q& [
Linux fmt命令用于编排文本文件。
" {) `: _5 W; r5 B& p$ g. L l, U
, D( u |9 m1 u# P* X3 r3 {fmt指令会从指定的文件里读取内容,将其依照指定格式重新编排后,输出到标准输出设备。若指定的文件名为"-",则fmt指令会从标准输入设备读取数据。
1 u* x) v( f5 M j6 r/ O; [3 s; x/ r7 w7 e; k, c* E |: V
" U1 D% Q* P. X% O; Y/ E% _8 W
语法
# d2 c0 p" x- U# A6 J4 A( @" C
! _/ c+ I/ S3 ]; Ifmt [-cstu][-p<列起始字符串>][-w<每列字符数>][--help][--version][文件...]
+ `1 k2 W9 M2 x6 B
$ ~3 k6 y( s3 m# n" H
$ D/ e) w+ M. |" p; ^
* C4 U p; a; G$ t参数说明: W# Z7 _. H r' D
% u8 M! w1 v: T" W5 b
-c或--crown-margin 每段前两列缩排。4 N& ^6 K+ S2 C6 @3 i
-p<列起始字符串>或-prefix=<列起始字符串> 仅合并含有指定字符串的列,通常运用在程序语言的注解方面。
$ z. z1 k! u' @5 X5 s- V-s或--split-only 只拆开字数超出每列字符数的列,但不合并字数不足每列字符数的列。. d' T) H0 X+ M2 H+ t% N
-t或--tagged-paragraph 每列前两列缩排,但第1列和第2列的缩排格式不同。$ c: U( Y3 z# ?7 g) q
-u或--uniform-spacing 每个字符之间都以一个空格字符间隔,每个句子之间则两个空格字符分隔。
# ^* V+ h0 |2 j% C7 P7 E4 q-w<每列字符数>或--width=<每列字符数>或-<每列字符数> 设置每列的最大字符数。
0 Z' H2 R. e- q& w. O' U0 l--help 在线帮助。
; b: `# O/ c% e6 |8 y& W--version 显示版本信息。
5 v: }+ m4 K6 f) }+ b/ d7 `9 B% v2 F; `; c' Y" [2 w4 ?- X
: m" j: L! u9 E- B- g. w
实例
: m t# t9 p+ q: m# J1 ]! l$ j: [3 ?* B6 T) f$ O: s
重排指定文件。如文件testfile共5 行文字,可以通过命令对该文件格式进行重排,其命令为:/ u0 W2 |9 f# F+ o
6 B+ g' e- e* s, o- Y+ B) Afmt testfile * R1 C' X4 |! q# ?/ `
- k/ L2 G6 t& k& p
2 ~ ?" h0 Q5 q输出结果如下:
( E/ c0 |+ @4 g# b: W8 G0 s. e8 U: u/ ?! S) i- w
$ fmt testfile #重排testfile 文件 " t' ^* \* n2 r( L- R* ]# E$ ~
hello Linux! Linux is a free Unix-type operating system. This is a $ ~6 I* Q- b; o
Linux testfile! Linux Linux 3 S& x2 P& B8 |" ^" p: _
9 c3 x) E1 h; n/ i) L4 A4 W# z5 c! [' V: ^- D
将文件testfile重新排成85 个字符一行,并在标准输出设备上输出,其命令应该为:- ~, O* S4 @! c9 Y4 ^8 y" h0 F
, }4 o0 }9 e2 O& U. Yfmt -w 85 testfile$ f" p' f& D8 F' z# O
5 Y: b F/ [( {, ]% S
$ P9 }2 e- J$ f为了对比,先使用cat 命令查看文件内容:
# g) b3 I2 H% i3 Z5 x* @$ b2 l8 H+ U3 B/ c/ l; |1 r1 r$ i, D
$ cat testfile #查看testfile 文件的内容
. s% s1 O$ I, [( rhello Linux!
7 r( G2 Y2 C6 y9 jLinux is a free Unix-type operating system.
) d4 o' L/ |! Q6 ]$ vThis is a Linux testfile!
+ T0 S5 n9 z. H7 S% fLinux & l: h% s4 ^# Q. Z; K3 `% v
Linux 6 }5 T) r& h: X2 P5 o- [7 H9 ]
C0 p: B/ n2 Z* }: A
5 a( a# P. n1 `) @( {使用fmt命令重排之后,输出结果如下:
- ^& _9 A, k6 a6 G. j6 [, F7 t v
* [. u+ r- v% z$ fmt -w 85 testfile #指定重排宽度为85个字符
* h3 W1 C l8 D) phello Linux! Linux is a free Unix-type operating system. This is a Linux testfile! " K T+ Y8 c7 b% D5 B+ j
Linux Linux
5 e: U/ t: Y. E4 T |
|