TA的每日心情 | 衰 2019-11-19 15:32 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
) L5 o5 p3 ^5 V7 q r* E0 BLinux fmt命令用于编排文本文件。
* U& |" f5 K, C R Z$ v1 S1 M% Q: B0 U
fmt指令会从指定的文件里读取内容,将其依照指定格式重新编排后,输出到标准输出设备。若指定的文件名为"-",则fmt指令会从标准输入设备读取数据。+ J- q. s* L- M( V+ G& v
8 v* G0 d# C D5 z1 j% f; X7 g
7 Y# {9 Z l# U4 B/ E语法5 m! ?4 o8 t- g T8 f
5 l% {- J& ^2 }3 V8 G
fmt [-cstu][-p<列起始字符串>][-w<每列字符数>][--help][--version][文件...]: k- n( Z) O- @9 ^
* h/ X& {& N! [& U8 H, H
; L% [; J# \" a4 s
, f( _/ p m4 ]" f) B$ [% [参数说明:
2 ^5 _; m: x* ?' r3 W
/ a, ?& t' B9 X, b$ p& D-c或--crown-margin 每段前两列缩排。7 R; _0 ^8 E- s' _; Q6 p& Z
-p<列起始字符串>或-prefix=<列起始字符串> 仅合并含有指定字符串的列,通常运用在程序语言的注解方面。- l) h6 k0 o# M& |/ D& r* z
-s或--split-only 只拆开字数超出每列字符数的列,但不合并字数不足每列字符数的列。) I- n6 {% n% l2 w1 r
-t或--tagged-paragraph 每列前两列缩排,但第1列和第2列的缩排格式不同。
" O0 ? J5 ^ N! _-u或--uniform-spacing 每个字符之间都以一个空格字符间隔,每个句子之间则两个空格字符分隔。3 F/ ]' g$ }* `0 Z& \6 W
-w<每列字符数>或--width=<每列字符数>或-<每列字符数> 设置每列的最大字符数。
/ a) X. E1 B* \/ s- }0 v! _. N( e--help 在线帮助。7 x# g6 e. w7 ]
--version 显示版本信息。
# S: W5 ]+ {2 e8 T6 h- w( O, H! y2 C5 m9 g' }
7 h4 S: i$ N! X( x3 s2 }
实例* ]( a1 z# e4 k, A
8 a7 r ?# B: I# p重排指定文件。如文件testfile共5 行文字,可以通过命令对该文件格式进行重排,其命令为:/ |9 ~: B$ U$ |3 z
0 u5 k' P& Z i1 M* Y) ?
fmt testfile 1 |, v" q& F. r& T( X
3 A3 h4 Y( N7 C% K$ R0 n( E: a1 D0 n: J1 t
输出结果如下:, C) M; h' N) X1 Y* y& @" n
+ f5 G& i4 ^' _& ^: h/ L
$ fmt testfile #重排testfile 文件 ( W( D6 X" A( L! y5 E; X1 J
hello Linux! Linux is a free Unix-type operating system. This is a 1 [8 x5 ?( I7 S- B0 S/ G
Linux testfile! Linux Linux
$ M+ Y- A$ b8 ~* b
/ [2 v* Y0 @$ x/ n5 G- x6 G, {2 b7 n1 s2 G
将文件testfile重新排成85 个字符一行,并在标准输出设备上输出,其命令应该为:) C4 x5 x/ ^) k+ q! O$ u, K& J
9 h- B2 J* Z. m# _fmt -w 85 testfile# ?# \ o$ V+ }! V' l0 V% g' w
) C+ y% H: y, ^ F% K, `- B
: z4 R" ~) _" ]. o7 ^5 h为了对比,先使用cat 命令查看文件内容:- ?& X' E. v# F+ R
% o% U8 c8 Z+ O# t" d
$ cat testfile #查看testfile 文件的内容 ' ]4 K; w% B) D7 T
hello Linux! ( X9 U+ `. ^' T+ C8 j9 F% s
Linux is a free Unix-type operating system.
8 M3 p9 A( G& b2 C+ c: w7 |This is a Linux testfile!
' ]3 x" ^# q" z7 }, j9 WLinux
: T/ Q0 F" q' \! H: Z* @# X; jLinux
) W# U4 C6 ^0 z$ }" v6 O7 H* \; S
9 a! k/ v1 K, Y$ a) v% s9 G( Y
/ i; G6 o1 p' }3 h5 k使用fmt命令重排之后,输出结果如下:7 Y; b# C' w0 C7 t! [
. `8 K% ?8 p3 B8 Z5 F" C# u
$ fmt -w 85 testfile #指定重排宽度为85个字符 4 Z6 }/ f0 `+ z, H! S& z
hello Linux! Linux is a free Unix-type operating system. This is a Linux testfile!
H3 v; J1 M2 k/ W) q0 TLinux Linux , \6 T2 J# T! {; f i1 b3 m P4 a
|
|