Libftを作るときに使ったシェルコマンド


ヘッダー名から、ヘッダーのテンプレを一気に入れる

for filename in *.h; do
{
    echo -n "#ifndef "
    echo "${filename}" | tr '[:lower:]' '[:upper:]' | tr '.' '_';
    echo -n "# define "
    echo "${filename}" | tr '[:lower:]' '[:upper:]' | tr '.' '_';
    echo ""
    echo "#endif"
} >> ${filename}
done

プロトタイプをコピーするコマンド

cat *.c | grep -e '^\(int\|void\|size_t\|t_.*\|char\|float\|double\|struct\|unsigned\|short\|long\|signed\)\t' | sed -e 's/$/;/g' | pbcopy

ファイル名を一気に指定されたフォーマットに変更する

before
$ atoic   bzero.c   itoa.c   memmove.c   memset.c

after
$ ft_atoi.c_bonus.c ft_itoa.c_bonus.c   ft_memset.c_bonus.c
ft_bzero.c_bonus.c  ft_memmove.c_bonus.c

結構簡単だった。


for filename in *.c; do
    mv $filename ft_${filename}_bonus.c
done