基于带前导零的模式拆分文件

基于带前导零的模式拆分文件

我有一本文本格式的书。我想将这本书分成几个文件,每个文件包含一个章节。因此我使用以下命令:

awk '/Chapter/{i++}{print > "chap"i}' "$f.txt"

其中 $f 只是 for 循环中的变量。但我注意到这些文件被命名为:

chap1
chap9
chap11

他们是添加前导零的方法吗?所以这些文件被命名为:

chap001
chap009
chap011

我使用/bin/sh作为默认外壳。

答案1

单程:

awk '/Chapter/{i=sprintf("%03d",i+1)}{print > "chap"i}' "$f.txt"

相关内容