4.7 tac命令的详解及示例

tac 是 Linux/Unix 系统下的一个文本处理命令,用于反向显示文件内容(与 cat 命令相反)。它的名字来源于 cat 的倒序拼写,功能也是将文件内容从最后一行到第一行显示。


1. tac 基本语法

tac [选项] [文件]
选项 说明
-b 在行前插入分隔符(默认 \n)
-r 将分隔符视为正则表达式
-s 指定分隔符(默认是换行符 \n)

2. tac 基本用法

(1)反向显示文件内容

tac file.txt

示例:

$ cat file.txt
Line 1
Line 2
Line 3

$ tac file.txt
Line 3
Line 2
Line 1

(2)从标准输入读取并反向输出

echo -e "A\nB\nC" | tac

输出:

C
B
A

3. tac 高级用法

(1)指定分隔符(-s)

默认 tac 按行(\n)分割,但可以自定义分隔符:

echo "A:B:C:D" | tac -s ':'

输出:

D
C
B
A

(2)在行前插入分隔符(-b)

echo -e "A\nB\nC" | tac -b

输出:

C
B
A

(-b 默认插入 \n,效果与不加 -b 相同)

(3)结合 grep 反向显示匹配行

grep "error" log.txt | tac  # 反向显示所有含 "error" 的行

(4)反向显示日志文件(查看最新日志)

tac /var/log/syslog | less

(less 可以上下滚动查看)


4. tac 与 rev 的区别

命令 功能
tac 按行反向(最后一行到第一行)
rev 按字符反向(每行内容左右颠倒)

示例:

$ echo -e "123\n456" | tac
456
123

$ echo -e "123\n456" | rev
321
654

5. 常见问题

(1)tac 和 tail -r 的区别?

  • tac 是 GNU 工具,tail -r 是 BSD 风格(部分 Linux 不支持 tail -r)。
  • tac 更通用,推荐使用。

(2)如何反向显示文件并保存?

tac file.txt > reversed.txt

(3)tac 能否处理二进制文件?

不能,tac 是文本处理工具,二进制文件请用 hexdump 或 xxd。


6. 总结

  • tac 用于反向显示文件内容(最后一行到第一行)。
  • 常用选项:
    • -s(指定分隔符)
    • -b(在行前插入分隔符)
  • 典型用途:
    • 反向查看日志(最新日志在前)
    • 结合 grep 反向显示匹配行
  • 与 rev 区别:
    • tac 按行反向,rev 按字符反向。

tac 是日志分析和文本处理的实用工具!🚀

全部评论(0)

头像
😃 😁 😅 😂 😍 😜 😝 🤑 🥵 🥰 😙 😎 😵 😭 😱 😖 🥳 👽 🙈 🤡 😤 💣 💯 💢 ❤️ 👍 👏 👋 👌 🤏 🙏
还没有任何评论哟~
微信扫一扫
微信二维码
微信客服
QQ 咨询
QQ二维码
工作日 9:00 - 18:00 在线
QQ客服
在线工单
提交问题工单,我们会尽快回复处理。
提交工单
在线工单
目录