텍스트 형식의 책이 있습니다. 책을 각각의 장을 포함하는 여러 파일로 나누고 싶습니다. 그래서 다음 명령을 사용합니다.
awk '/Chapter/{i++}{print > "chap"i}' "$f.txt"
여기서 $f는 for 루프의 변수일 뿐입니다. 하지만 파일 이름이 다음과 같은 것으로 나타났습니다.
chap1
chap9
chap11
앞에 0을 추가하는 방법인가요? 따라서 파일 이름은 다음과 같습니다.
chap001
chap009
chap011
저는 /bin/sh
기본 쉘로 사용하고 있습니다.
답변1
일방 통행:
awk '/Chapter/{i=sprintf("%03d",i+1)}{print > "chap"i}' "$f.txt"