tac

连接多个文件并以行为单位反向打印到标准输出。

概要

  1. tac [OPTION]... [FILE]...

主要用途

  • 按行为单位反向显示文件内容,如果没有文件或文件为-则读取标准输入。
  • 处理多个文件时,依次将每个文件反向显示,而不是将所有文件连在一起再反向显示。

参数

FILE(可选):要处理的文件,可以为一或多个。

选项

  1. 长选项与短选项等价
  2. -b, --before 在之前而不是之后连接分隔符。
  3. -r, --regex 将分隔符作为基础正则表达式(BRE)处理。
  4. -s, --separator=STRING 使用STRING作为分隔符代替默认的换行符。
  5. --help 显示帮助信息并退出。
  6. --version 显示版本信息并退出。

返回值

返回状态为成功除非给出了非法选项或非法参数。

例子

  1. # 选自官方info文档的例子:
  2. # 一个接着一个字符的反转一个文件:
  3. tac -r -s 'x\|[^x]' test.log
  4. # 关于-b选项:
  5. seq 1 3 |tac
  6. # 输出
  7. 3
  8. 2
  9. 1
  10. # 使用-b选项:
  11. seq 1 3 |tac -b
  12. # 输出,注意21后面没有换行符:
  13. 3
  14. 21
  15. # 前一个例子相当于将 '1\n2\n3\n' 转换为 '3\n2\n1\n'
  16. # 前一个例子相当于将 '1\n2\n3\n' 转换为 '\n\n3\n21'

注意

  1. 该命令是GNU coreutils包中的命令,相关的帮助信息请查看man -s 1 tacinfo coreutils 'tac invocation'
  2. 关于基础正则表达式(BRE)的内容,详见man -s 1 grepREGULAR EXPRESSIONS段落。