TA的每日心情 | 衰 2019-11-19 15:32 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1 ?1 C Y1 X- K* h& t5 F
Linux fmt命令用于编排文本文件。
0 Q( q3 C1 P4 x% l: @
$ ], B F3 b- i% E8 _. jfmt指令会从指定的文件里读取内容,将其依照指定格式重新编排后,输出到标准输出设备。若指定的文件名为"-",则fmt指令会从标准输入设备读取数据。* {& o* k$ P0 `( Y8 h4 ]* G
* [7 }2 Z& X Y3 ~. ]* H
8 x3 m4 |4 j: A/ k: A5 \, A# _' n语法/ f- l( o& F! ~* [' o: b3 p1 S
1 L( F' a2 q5 m* C- C) Ufmt [-cstu][-p<列起始字符串>][-w<每列字符数>][--help][--version][文件...]5 ~4 i E' f- C
2 A, s6 A% i% _) {& u: X! D, C& A8 @1 k8 {; D8 y' ?
7 m! h. W" m5 d1 w6 ?8 X
参数说明:
& M ~" h6 J- I w8 U- J+ s) W" g
-c或--crown-margin 每段前两列缩排。3 @, D% h) @. D, }5 ^! {
-p<列起始字符串>或-prefix=<列起始字符串> 仅合并含有指定字符串的列,通常运用在程序语言的注解方面。
- e: n6 o0 b/ H' e-s或--split-only 只拆开字数超出每列字符数的列,但不合并字数不足每列字符数的列。
9 S a* A% ~8 u! `6 X-t或--tagged-paragraph 每列前两列缩排,但第1列和第2列的缩排格式不同。
9 y" @+ C" x3 f# `/ t& t! m-u或--uniform-spacing 每个字符之间都以一个空格字符间隔,每个句子之间则两个空格字符分隔。7 z& F* L7 c! k! ^: Z! c
-w<每列字符数>或--width=<每列字符数>或-<每列字符数> 设置每列的最大字符数。- t; G) ^2 d% S [
--help 在线帮助。, C, {- O6 {& N+ }
--version 显示版本信息。6 d2 V; r2 k( a
% A% d, j; U( R' n1 I) o
* c+ b$ Y0 c( X, O实例" ^! U8 W8 U! f+ a+ y
! w" e( Q; f O {& G
重排指定文件。如文件testfile共5 行文字,可以通过命令对该文件格式进行重排,其命令为:6 P( `" q4 l* q6 [
1 i( y1 Q S& @1 r* P
fmt testfile
5 ? X' ^3 {% B& Y0 a, T9 O
, h5 T9 \: W* ^0 N+ V8 _. `+ Q! b# h- @
输出结果如下:& X$ j) `# B3 A2 [9 X! `
. N) T Z/ X8 x/ |) |8 i- r
$ fmt testfile #重排testfile 文件 ) A5 A& ^0 X4 i. `. H
hello Linux! Linux is a free Unix-type operating system. This is a
, u" y! t- J2 P5 m5 wLinux testfile! Linux Linux - g5 s+ V$ O& r# J( o# `3 f
2 `+ }( y3 y6 z5 u k
& |3 g$ k" W/ n# }" M/ }* Q将文件testfile重新排成85 个字符一行,并在标准输出设备上输出,其命令应该为:( w, @; j5 ~- a* ~) U2 X1 ^& q
2 \5 F: a1 d5 [, Tfmt -w 85 testfile
$ q2 C; e Q$ `% F+ h
" e5 V4 Y- W1 f$ A& y, ]) n( T0 K# n! y" n( w
为了对比,先使用cat 命令查看文件内容:! W* n+ V! I& N8 `2 x$ T+ j( \ b
3 T: t0 {2 ?$ B$ cat testfile #查看testfile 文件的内容 6 f$ r7 k+ u% H4 K& u; }
hello Linux! ; h' v+ z9 X8 Z( g0 f: I
Linux is a free Unix-type operating system.
1 i) S0 r' p/ y' D3 Y. [5 sThis is a Linux testfile! 3 l4 Y2 i0 e4 F* H( Q" f6 r
Linux 0 G% _! v1 K' w1 |$ H% |
Linux ) q/ l% F M5 A1 z( d* d
8 Z2 j# o t7 ^+ d$ G5 ?6 P
' S3 ~2 t, ?. D, j$ E
使用fmt命令重排之后,输出结果如下:
" ]# n0 i% t2 Q/ K, y9 n; q+ R6 g+ ]% e) s& k8 @
$ fmt -w 85 testfile #指定重排宽度为85个字符 7 ^" D! I" F6 Z. P
hello Linux! Linux is a free Unix-type operating system. This is a Linux testfile! : A( ?4 ^7 O0 S1 n3 j6 Y
Linux Linux
) \' F1 c8 m& m8 j. y7 A |
|