====== 作弊条:根据特定模式把一个文件拆成多个文件 ====== ===== 问题 ===== 有人使用 cat 将多个git format-patch得到的输出合并成了一个文件,将其拆开。 ===== 解 ===== 观察发现,此种格式的邮件以 commit XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 作为分界点。显然使用 awk 可以很容易地解决问题。 awk '/^commit ([0-9a-f]*)/{filename=$2".diff"}{print > filename }' < 文件名