Linux命令-tac(反向显示文件内容)
Linux命令-tac反向显示文件内容快速参考基本用法实际应用场景分隔符模式正则表达式分隔符before/after 上下文与其他命令配合实战脚本对比 tac 与其他反向方法选项速查tac是cat的反转版本按行将文件内容从最后一行到第一行反向输出。它得名于将cat倒过来拼写功能也恰好相反。tac在处理日志文件查看最新条目优先、倒序处理文本等场景中非常实用。快速参考tac[选项][文件...]tac默认按行反转以\n为分隔符但可以通过-s选项指定其他分隔符实现按段落、按记录的反转输出。基本用法# 反向显示文件最后一行先输出tacfile.txt# 反向显示多个文件tacfile1.txt file2.txt file3.txt# 从标准输入读取echo-e第一行\n第二行\n第三行|tac# 输出:# 第三行# 第二行# 第一行# 反向显示 /etc/passwd 的前几行tac/etc/passwd|head-5# 查看文件最后修改的部分倒序tacconfig.yml|head-20实际应用场景# 场景1: 查看日志文件最新内容类似 tailtac/var/log/syslog|head-30# 场景2: 反向显示历史命令最新命令在前tac~/.bash_history|head-20# 场景3: 查看配置文件最后的条目tac/etc/fstab|head-5# 场景4: 反转 CSV 文件最新记录在前tacdata.csv|head-10# 场景5: 反向查看 crontab 条目sudotac/var/spool/cron/crontabs/root|head-10分隔符模式# -s 指定分隔符默认为换行符# 以空行为分隔符按段落反转tac-s^\n$-rparagraphs.txt# 以 --- 为分隔符反转tac-s^---$-rrecords.txt# 以逗号为分隔符反转echoa,b,c,d,e|tac-s,-r# 以制表符分隔printfname\tvalue\nage\t25\ncity\tBJ\n|tac-s\t-r# 以分号分隔echocmd1;cmd2;cmd3;cmd4|tac-s;-r正则表达式分隔符# -r 使用正则表达式匹配分隔符# 按空行分隔段落并反转tac-r-s^$document.txt# 按多个连续空行分隔tac-r-s^\n\ndocument.txt# 按 HTTP 请求分隔空行分隔 header 和 bodytac-r-s\r\n\r\nhttp_requests.txt# 按日期行分隔tac-r-s^## \[changelog.md# 按行首标记分隔tac-r-s^---yaml_content.txtbefore/after 上下文# -b 在分隔符前匹配tac-b-s---records.txt# 在分隔符后匹配默认行为tac-a-s---records.txt# 组合使用tac-ab-s\n\nparagraphs.txt与其他命令配合# tac grep: 从文件末尾开始搜索tacerror.log|grep-m5ERROR# tac head: 获取最后 N 行的另一种方式tacfile.txt|head-5# 等效于 tail -n 5# tac awk: 反向处理并重新编号tacdata.txt|awk{print NR: $0}|tac# tac sort: 先反转再排序tacnames.txt|sort|tac# tac sed: 反转后修改tacaccess.log|seds/GET/POST/|tacmodified.log# tac 过滤空白行从末尾开始tacfile.txt|sed/^$/d|tacno_blanks.txt# 反向去重tacfile.txt|awk!seen[$0]|tac实战脚本#!/bin/bash# 日志分析脚本 - 从最新记录开始分析# 用法: ./analyze_recent.sh error.logLOG_FILE${1:-/var/log/syslog}LINES${2:-50}echo 最近${LINES}条日志 echo# 从最新记录开始查看tac$LOG_FILE|head-n$LINES|tacechoecho 错误统计最近${LINES}条 # 统计最近 N 条中的错误类型tac$LOG_FILE|head-n$LINES|grep-ierror\|warn\|fail|\awk-F:{print $1}|sort|uniq-c|sort-rn#!/bin/bash# 反向显示文件并添加行号# 用法: ./rtac.sh file.txtFILE${1:-/dev/stdin}TOTAL$(wc-l$FILE)# 方法1: 使用 awkawk-vn$(wc-l$FILE){print n: $0; n--}$FILE# 方法2: 使用 tac nl tactac$FILE|nl|tac对比 tac 与其他反向方法# 方法1: tac最快timetaclarge_file.txt/dev/null# 方法2: tail -rBSD 系统timetail-rlarge_file.txt/dev/null21# 方法3: sed不推荐大文件timesed1!G;h;$!dlarge_file.txt/dev/null# 方法4: awktimeawk{a[NR]$0} END{for(iNR;i0;i--) print a[i]}large_file.txt/dev/null# 方法5: Perltimeperl-eprint reverse large_file.txt/dev/null选项速查选项说明-b在分隔符前附加-r将分隔符作为正则表达式-s SEP指定分隔符默认\n--help显示帮助--version显示版本tac是 GNU coreutils 中的小巧工具但其在日志分析和文本处理中有着不可替代的地位。当你需要从末尾开始处理文件时tac是最高效的选择。

相关新闻

AX210蓝牙驱动丢失?手动安装与深度排查全指南

AX210蓝牙驱动丢失?手动安装与深度排查全指南

1. 项目概述:当AX210的蓝牙“消失”时如果你正在使用搭载Intel AX210无线网卡的台式机或笔记本,并且突然发现蓝牙功能“凭空消失”了——设备管理器里找不到蓝牙设备,系统设置里蓝牙开关是灰色的,甚至连那个熟悉的蓝牙图标都无影无…

2026/10/18 2:41:31 阅读更多 →
vbm: missing metadata. Full Image Restore with .vbk only?

vbm: missing metadata. Full Image Restore with .vbk only?

Yes, you should be able to do a restore of just a .vbk using the “extract utility” from the Veeam installation directory: C:\Program Files\Veeam\Backup and Replication\Backup\Veeam.Backup.Extractor.exe Follow the User Guide for more info: https://help…

2026/10/16 22:06:12 阅读更多 →
Autovisor智慧树刷课工具5分钟速通:从下载到自动学完一门课只需四步

Autovisor智慧树刷课工具5分钟速通:从下载到自动学完一门课只需四步

Autovisor智慧树刷课工具5分钟速通:从下载到自动学完一门课只需四步 【免费下载链接】Autovisor 2025智慧树刷课脚本 基于Python Playwright的自动化程序 [有免安装版] 项目地址: https://gitcode.com/gh_mirrors/au/Autovisor 晚上十点半,室友已…

2026/10/12 2:03:14 阅读更多 →

最新新闻

Servlet+JSP+MySQL:手把手拆解经典Java Web新闻发布系统

Servlet+JSP+MySQL:手把手拆解经典Java Web新闻发布系统

简介:基于Java Servlet、JSP和MySQL的Web新闻发布系统源码,适合正在学习Java Web开发的初学者,以及需要课程设计或毕业设计参考的学生。项目采用MVC分层模式,实现了新闻的发布、编辑、删除和展示,还包含用户登录认证、…

2026/10/18 6:30:52 阅读更多 →
老系统重构实战:从数据库连接池打爆到模块化单体选型复盘

老系统重构实战:从数据库连接池打爆到模块化单体选型复盘

这期节目聊完,我在整理笔记的时候发现,Dirk和Linus两个人聊得最投入、最没有嘉宾包袱的一次,反而是这期讲"旧系统改造"的。原因很简单:他们俩都亲手拆过自己的烂摊子,也都被人用"别动,动了出…

2026/10/18 6:30:52 阅读更多 →
基于SAM的多阶段细化橄榄树遥感分割方案与实践

基于SAM的多阶段细化橄榄树遥感分割方案与实践

做农业遥感这几年,“橄榄树分割”这个需求我前前后后碰过好几回。刚开始觉得这事不难——树冠是圆的、叶子是常绿的,卫星图上看起来就是一片片绿色圆斑,做个阈值分割加形态学处理,应该分分钟搞定。真上了项目才发现,远…

2026/10/18 6:30:52 阅读更多 →
贪吃蛇不是玩具:JavaScript状态机驱动的游戏内核设计

贪吃蛇不是玩具:JavaScript状态机驱动的游戏内核设计

1. 这不是玩具代码,而是一次对前端基础能力的全面压力测试“使用 JavaScript 开发贪吃蛇游戏”——看到这个标题,很多人第一反应是:“老掉牙了,网上教程一抓一大把。”但如果你真去翻过那些所谓“5分钟上手”的教程,就…

2026/10/18 6:30:52 阅读更多 →
自动化测试框架选型:Selenium、Cypress与Playwright深度对比

自动化测试框架选型:Selenium、Cypress与Playwright深度对比

聊到自动化测试框架,圈子里每隔一阵就要吵一轮:Selenium这么老还这么稳,Cypress开发体验爽到飞起,Playwright又带着一堆黑科技来抢地盘,旁边还站着Puppeteer和Appium盯着移动端那块蛋糕。到底选谁?这个问题…

2026/10/18 6:30:52 阅读更多 →
力扣198打家劫舍补充(滚动数组)

力扣198打家劫舍补充(滚动数组)

补充力扣198打家劫舍(动态规划)-CSDN博客的滚动数组写法,只有小改动 原未使用滚动数组代码: class Solution {public int rob(int[] nums) {int length nums.length;if(nums null || length 0){ return 0; }if(length 1){re…

2026/10/18 6:29:52 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →