TA的每日心情 | 衰 2019-11-19 15:32 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
0 z" W8 R$ V) a# C7 GLinux fmt命令用于编排文本文件。
5 z. q$ k/ p. p3 v# u% o9 Z$ a2 W$ W) a; Q
fmt指令会从指定的文件里读取内容,将其依照指定格式重新编排后,输出到标准输出设备。若指定的文件名为"-",则fmt指令会从标准输入设备读取数据。
0 c' ~$ ^. q3 ^# E
6 P0 A+ l; y4 W) t# {
( |0 b9 x6 b+ Y6 I语法
) X& z' O. g% M7 l" l) T% ]& f: Z% T
fmt [-cstu][-p<列起始字符串>][-w<每列字符数>][--help][--version][文件...]
8 W$ {( J+ y1 s- d V' h b2 W* \5 Q. j( N: G$ `, t/ l
( p- N3 a6 J$ j! z$ c+ @
8 h) R6 f s$ O/ G( K
参数说明:, ^) E7 k) v) I7 M
1 K( a( k' }! }& B8 A, h; a1 Y7 {
-c或--crown-margin 每段前两列缩排。& i7 [; s" N* Q6 P# ?
-p<列起始字符串>或-prefix=<列起始字符串> 仅合并含有指定字符串的列,通常运用在程序语言的注解方面。
3 O& s- h$ N0 q+ } W$ C0 M-s或--split-only 只拆开字数超出每列字符数的列,但不合并字数不足每列字符数的列。7 C; v9 y, d: J) @( [' I' w( @" ?* i
-t或--tagged-paragraph 每列前两列缩排,但第1列和第2列的缩排格式不同。& p3 Y: N) I) s& K
-u或--uniform-spacing 每个字符之间都以一个空格字符间隔,每个句子之间则两个空格字符分隔。
. R1 l$ f: N9 p7 Y-w<每列字符数>或--width=<每列字符数>或-<每列字符数> 设置每列的最大字符数。6 t0 y3 u! T0 Y- _, w5 v
--help 在线帮助。
- A% S8 F( |& Y. ]) v* D--version 显示版本信息。' H: I/ T% B9 Y4 [4 r
0 ]$ g. S8 X- m
0 N$ [ i3 p4 u+ Z$ j' i0 Q( k实例: s" a' F2 }2 k: o$ ]
3 F8 C+ \3 d: m重排指定文件。如文件testfile共5 行文字,可以通过命令对该文件格式进行重排,其命令为:
7 G( F) ?( g8 ^" E& j
4 T, S/ ~& ]5 C+ r: [- j$ sfmt testfile # ^) \4 v' H5 n2 R3 a3 i
9 V3 ~, O S6 w' r& q+ M
, y; P& v+ u$ S! o" O8 Y2 L5 @输出结果如下:
' c! i5 f" E, p1 I/ N8 q
5 n2 ]' F/ o4 O$ Z( |9 Q$ fmt testfile #重排testfile 文件 $ ?1 R7 b2 R" W0 z5 j9 ?) O5 A
hello Linux! Linux is a free Unix-type operating system. This is a
% W) l r% `% z4 s$ mLinux testfile! Linux Linux 0 w4 x) h/ V. `& l" ?
: ~7 k. a! f) t3 P9 c1 @
. l; H# M: ]% M7 ^将文件testfile重新排成85 个字符一行,并在标准输出设备上输出,其命令应该为:. j5 K" l: Y! Y! S- x( [
/ }$ Z B @# D" V
fmt -w 85 testfile
/ Y3 Q, m4 A# v0 t% S7 `/ {
# B8 r& w1 X ]! s3 L9 w, A' j+ t0 U" @. | Y; D1 V
为了对比,先使用cat 命令查看文件内容:
O( B5 X5 g, O# L* j8 Y, k0 {. r5 O4 J, R1 B
$ cat testfile #查看testfile 文件的内容
$ d2 }/ [+ h) hhello Linux!
# y. Z6 ~2 F( R% b2 ?% bLinux is a free Unix-type operating system. $ s4 T {2 u6 |! V h3 ~! S# e
This is a Linux testfile!
* L' j+ P. m3 \: ` ?Linux 2 A7 J% t9 \; Z7 @1 O
Linux
' x' i; |+ _" A/ v* i
) K6 v0 ]# W% A* v+ k: y
0 x! o. d& i" W/ k2 i/ v4 |使用fmt命令重排之后,输出结果如下:
5 Q$ ]$ K( j3 U2 W0 Y
5 j2 l# Y! Y; y8 Z! f0 m' F$ fmt -w 85 testfile #指定重排宽度为85个字符 ) u0 i/ F: q( F# w" p, Q! b
hello Linux! Linux is a free Unix-type operating system. This is a Linux testfile!
/ Z' X) T. u9 |+ w; B) GLinux Linux
* r& `; n& ~/ |! T |
|