왜?
42 과제의 보너스 파트는 파일명에 _bonus를 붙여야 한다는 규칙이 있습니다.
어떻게?
include와 include guard, 42header를 보너스에 맞게 바꿔주는 파이썬 스크립트입니다. bonus.py
import sys
print(
''
.join(
map(
lambda line:
line
.replace(".h\"\n", "_bonus.h\"\n")
.replace("_H\n", "_BONUS_H\n")
.replace(".h ", "_bonus.h"),
sys.stdin.readlines()
)
),
end=''
)
Python
복사
그리고 모든 .c, .h 파일에 대해 bonus.py를 적용시킨 _bonus.c, _bonus.h를 만드는 쉘 스크립트입니다.
#!/bin/sh
set -e
find . -name "*.c" | sed s/\\.c$// | xargs -I {} sh -c "python3 ./bonus.py < {}.c > {}_bonus.c"
find . -name "*.h" | sed s/\\.h$// | xargs -I {} sh -c "python3 ./bonus.py < {}.h > {}_bonus.h"
Shell
복사
두 파일을 저장한 후 해당 쉘 스크립트를 실행하면 보너스 파일이 생성됩니다.