巧用管道:强大的文本处理之道
1. 提取文本文件首尾行
在处理文本文件时,有时我们只需要提取文件的开头或结尾几行内容。例如,XML 文件的章节标题通常位于文件的前几行,而查看作业日志文件的末尾则能快速了解最近的活动情况。
提取文件前 n 行可以使用以下命令:
- head -n n [ file(s) ]
- head -n [ file(s) ]
- awk 'FNR <= n' [ file(s) ]
- sed -e nq [ file(s) ]
- sed nq [ file(s) ]
POSIX 标准要求 head 选项使用 -n 3 而非 -3 ,但实际测试发现两种形式都被支持。当 sed 只有一个编辑命令时, -e 选项可以省略。如果文件行数少于 n,不会报错。
提取文件后 n 行可以使用:
- tail -n n [ file ]
- tail -n [ file ]
同样,POSIX 只规定了第一种形式,但在所有测试系统中两种形式都被接受。有趣的是, head 可以处理命令行中的多个文件,而传统和 POSIX 标准的 tail 则不能,
巧用管道实现高效文本处理
超级会员免费看
订阅专栏 解锁全文
236

被折叠的 条评论
为什么被折叠?



