From f938e0bc112afe16dacbee4b3eee2401dd5a295e Mon Sep 17 00:00:00 2001 From: helixhorned Date: Thu, 27 Oct 2011 13:13:22 +0000 Subject: [PATCH] Bash helper script to find wrongly-cased file names in DEFs and maybe replace them with the proper names. Usage: checkdefs.sh [[] -patch] is taken to be the base directory of the search path. -patch uses 'sed -i' to replace the offending findings git-svn-id: https://svn.eduke32.com/eduke32@2081 1a8010ca-5511-0410-912e-c29ae57300e0 --- polymer/eduke32/build/src/util/checkdefs.sh | 47 +++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100755 polymer/eduke32/build/src/util/checkdefs.sh diff --git a/polymer/eduke32/build/src/util/checkdefs.sh b/polymer/eduke32/build/src/util/checkdefs.sh new file mode 100755 index 000000000..0fa4e122d --- /dev/null +++ b/polymer/eduke32/build/src/util/checkdefs.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +if [ -z "$1" ]; then + echo 'Usage: checkdefs.sh [[] -patch]' +fi +deffn="$1" + +if [ -z "$2" ]; then + thedir=. +else + thedir="$2" +fi + +if [ -n "$3" ]; then + if [ "$3" != "-patch" ]; then + echo 'Usage: checkdefs.sh [[] -patch]' + fi +fi + +files=$(grep -E "\".*\..*\"" "$deffn" | sed 's/.*"\(.*\..*\)".*/\1/g') + +exfiles=$(find "$thedir" -type f) + +sedcmd="" + +for i in $files; do + fn="$thedir/$i" + if [ ! -f "$fn" ]; then + # try finding a matching file + match=$(echo "$exfiles" | grep -i "^$fn$") + + if [ -z "$match" ]; then + echo "$fn" + else + echo "$fn --> $match" + sedcmd="$sedcmd;s|\"$i\"|\"${match#$thedir/}\"|g" + fi + fi +done + +if [ -n "$3" ]; then + if [ -n "$sedcmd" ]; then + echo "Patching $deffn" +# echo "$sedcmd" + sed -i "$sedcmd" "$deffn" + fi +fi