Dividir arquivo baseado em um padrão com zeros à esquerda

3

Eu tenho um livro em formato de texto. Eu gostaria de dividir o livro em vários arquivos, onde cada arquivo contém um único capítulo. Por isso, estou usando o seguinte comando:

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

onde $ f é apenas a variável em um loop. Eu noto que os arquivos são nomeados:

chap1
chap9
chap11

Esta é uma maneira de adicionar zeros à esquerda? Então os arquivos são nomeados:

chap001
chap009
chap011

Estou usando /bin/sh como shell padrão.

    
por Willem Van Onsem 15.12.2012 / 03:53

1 resposta

4

Um caminho:

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