Linux 命令行——格式化输出

格式化输出

      • 1. 格式化输出
      • 2. 简单的格式化工具

本文摘录自 Linux 命令行

1. 格式化输出

这一章我们继续着手于文本相关的工具,关注那些用来格式化输出的程序,而不是改变文本本身。

2. 简单的格式化工具

我们先看一些简单格式化工具。它们都是功能单一的程序做法有点单纯,但它们可以用于小任务作为脚本和管道的一部分。

  1. nl–添加行号。nl 是一个相当神秘的工具,它标记文件的行数,最简单的应用中,它相当于 cat -n。像 cat 一样,nl 既可以作为命令行参数接受多个文件也可以接受标准输入。然而,nl 有很多的选项支持一个简单的标记方式去允许更多复杂方式的计算。
chappyzhao@ChappydeMacBook-Pro Pics % nl file.txt| head
     1	b
     2	c
     3	d
     4	e
  1. fold–限制文件列宽:fold 接受一个或多个文件及标准输入。
# 使用 -w 将文本分解成块,我们设定了行宽为 12 个字符。默认 80.
chappyzhao@ChappydeMacBook-Pro Pics % echo "The quick brown fox jumped over the lazy dog." | fold -w 12
The quick br
own fox jump
ed over the 
lazy dog.
# 增加的 -s 可以让分割考虑单词边界,以最后可用的空白字符为分割
chappyzhao@ChappydeMacBook-Pro Pics % echo "The quick brown fox jumped over the lazy dog." | fold -w 12 -s
The quick 
brown fox 
jumped over 
the lazy 
dog.
  1. fmt–一个简单的文本格式转换器。它也是一个 fold 文本,且有更多功能。它接受文本或标准输入,然后在文本流上以段落格式化。它主要是填充和连接文本行,同时保留空白符和缩进fmt -w 10 -c file.txt | head
  2. pr–让文本为打印做好准备:pr -l 15 -w 65 file.txt:定义了一个长 15 行,宽65列的页面
  3. printf–格式化数据并打印出来:与其他指令不同,printf 不用于流水线执行(不接受标准输入)。如果我们学过 c 语言应该就很熟悉它。
<ChappydeMacBook-Pro:Pics chappyzhao$ printf "I formatted the string: %s\n" foo
I formatted the string: foo
<ChappydeMacBook-Pro:Pics chappyzhao$ printf "%d, %f, %o, %s, %x, %X\n" 520 520 520 520 520 520
520, 520.000000, 1010, 520, 208, 208

你可能感兴趣的:(linux,linux,运维,服务器)