# 打包和拆包(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 拓撲排序算法實現
- 總結