#!/bin/sh usage() { echo $0 source-type echo echo 'source-type' echo ' The file type of your source code.' } while [ $# -gt 0 ]; do case $1 in *) SOURCE_TYPE=$1 ;; esac shift done if [ -z "$SOURCE_TYPE" ]; then usage fi case $SOURCE_TYPE in java) FIRST_CMNT='\/\*' LINE_CMNT=' * ' END_CMNT=' \*\/' ;; esac if [ ! -z "$FIRST_CMNT" ]; then LICENSE_HEADER=$FIRST_CMNT"\n" fi LICENSE_HEADER=$LICENSE_HEADER`cat license-header.txt | sed "s/^/$LINE_CMNT/g" | sed 's/[ ]*$//g'`"\n" if [ ! -z "$END_CMNT" ]; then LICENSE_HEADER=$LICENSE_HEADER$END_CMNT"\n" fi # Add empty line LICENSE_HEADER=$LICENSE_HEADER"\n" LICENSE_LENGTH=`printf "$LICENSE_HEADER" | wc | awk '{print $1}'` TMP_FILE1=/tmp/`date +%s`-f1.txt TMP_FILE2=/tmp/`date +%s`-f2.txt printf "$LICENSE_HEADER" > $TMP_FILE1 for x in `find * -name "*.$SOURCE_TYPE"`; do if [ ! -z "`head -$LICENSE_LENGTH $x | diff $TMP_FILE1 -`" ]; then sed -n "`expr $LICENSE_LENGTH + 1`,`wc $x | awk '{print $1}'`p" $x > $TMP_FILE2 cat $TMP_FILE1 > $x cat $TMP_FILE2 >> $x fi done rm -f $TMP_FILE1 rm -f $TMP_FILE2