# 打包和拆包(bundle and unbundle)
> 打包就是将很多个小的Awk文件合并到一个大文件中,而拆包就是相反的还原操作。
打包的目的是节省磁盘空间或者用于邮件传输等,我们看看下面的示例:
```
$ cat bundle.awk
# bundle.awk 打包多个文件到一个文件中
FNR==1{ print "FILENAME: "FILENAME}
{print $0 }
$ cat unbundle.awk
# unbundle.awk 拆包一个文件到多个文件中
/^FILENAME:/{ if (prev != "") close(prev); prev=$2; }
!/^FILENAME:/ && prev != "" { print $0 > prev }
```
上面的打包和拆包操作都是最简单的实现示例,实际的打包和拆包已经由`tar`命令实现了,我们并不需要这样的Awk程序来完成了,当然你要知道的是如果你想这样做打包拆包操作Awk也是可以做到的的。
- 目录
- 概述
- 第一章 编写第一个Awk命令
- 1.1 什么是Awk命令
- 1.2 第一个Awk命令
- 第二章 Awk的模式匹配
- 2.1 Awk模式语法规则
- 2.2 Awk模式规则详解
- 第三章 Awk的动作规则
- 3.1 Awk动作匹配语法规则
- 3.2 Awk动作规则详解
- 第四章 Awk数据处理方法
- 4.1 数据转换和提炼
- 4.2 数据验证
- 4.3 数据打包与拆包处理
- 4.4 多行数据处理
- 4.5 随机数生成
- 第五章 Awk的输出报告和脚本封装
- 5.1 输出报告
- 5.2 封装查询结果和报告
- 第六章 Awk实现排序算法
- 6.1 插入排序算法实现
- 6.2 快速排序算法实现
- 6.3 堆排序算法实现
- 6.4 拓扑排序算法实现
- 总结