テキスト形式の書籍があります。本をそれぞれの章を含む複数のファイルに分割したいと思います。だから、次のコマンドを使用します。
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"