fmt 命令

fmt 命令用于编排文本文件。

fmt 指令会从指定的文件里读取内容,将其依照指定格式重新编排后,输出到标准输出设备。若指定的文件名为"-",则 fmt 指令会从标准输入设备读取数据。

语法

fmt [-cstu][-p<列起始字符串>][-w<每列字符数>][--help][--version][文件...]

选项

  • -c 或--crown-margin 每段前两列缩排。
  • -p<列起始字符串>或-prefix=<列起始字符串> 仅合并含有指定字符串的列,通常运用在程序语言的注解方面。
  • -s 或--split-only 只拆开字数超出每列字符数的列,但不合并字数不足每列字符数的列。
  • -t 或--tagged-paragraph 每列前两列缩排,但第 1 列和第 2 列的缩排格式不同。
  • -u 或--uniform-spacing 每个字符之间都以一个空格字符间隔,每个句子之间则两个空格字符分隔。
  • -w<每列字符数>或--width=<每列字符数>或-<每列字符数> 设置每列的最大字符数。
  • --help 在线帮助。
  • --version 显示版本信息。

实例

重排指定文件。如文件 testfile 共 5 行文字,可以通过命令对该文件格式进行重排,其命令为:

fmt testfile


输出结果如下:

$ fmt testfile #重排testfile 文件

hello Linux! Linux is a free Unix-type operating system. This is a

Linux testfile! Linux Linux


将文件 testfile 重新排成 85 个字符一行,并在标准输出设备上输出,其命令应该为:

fmt -w 85 testfile


使用 cat 命令查看文件内容:

$ cat testfile #查看testfile 文件的内容

hello Linux!

Linux is a free Unix-type operating system.

This is a Linux testfile!



Linux


使用 fmt 命令重排之后,输出结果如下:

$ fmt -w 85 testfile #指定重排宽度为85个字符

hello Linux! Linux is a free Unix-type operating system. This is a Linux testfile!

Linux Linux