Select Git revision
fixCopyright.sh
Tobias Hunger
authored and
hjk
committed
Use perl instead of bash and avoid lots of rereading of the file,
making the script much faster to run.
Change-Id: Ic898f324b2952c593b89d8efca8ea1e344cf5858
Reviewed-by:
hjk <qthjk@ovi.com> fixCopyright.sh 808 B
#!/bin/sh
# Prepend a copyright header to all files given on the command line.
# Sample usage:
# find . -type f -name \*.cpp -o -name \*.h | \
# xargs ~/bin/hasCopyright.pl | grep ": No copyright, NOK" | grep "^./src/" | \
# cut -d ':' -f1 | xargs ~/bin/fixCopyright.sh dist/copyright_template.txt
COPYRIGHT_HEADER=$1
test -f "$COPYRIGHT_HEADER" || exit 16
shift
echo "Using $COPYRIGHT_HEADER..."
WORKDIR=`mktemp -d`
test -d "$WORKDIR" || exit 17
for i in $@ ; do
echo -n "Fixing $i..."
if test -f "$i" && test -s "$i" ; then
BASENAME=`basename "$i"`
TMP_NAME="$WORKDIR/$BASENAME"
sed '/./,$!d' "$i" > "$TMP_NAME" # remove leading empty lines
cat "$COPYRIGHT_HEADER" "$TMP_NAME" > "$i"
rm "$TMP_NAME"
fi
echo done.
done
rmdir "$WORKDIR"