lib/Tools/findlogics
author wenzelm
Tue, 04 Aug 2009 15:05:34 +0200
changeset 32322 45cb4a86eca2
parent 29143 72c960b2b83e
child 32390 468eff174a77
permissions -rwxr-xr-x
change IFS only locally -- thanks to bash arrays;

#!/usr/bin/env bash
#
# Author: Markus Wenzel, TU Muenchen
#
# DESCRIPTION: collect heap names from ISABELLE_PATH


PRG=$(basename "$0")

function usage()
{
  echo
  echo "Usage: isabelle $PRG"
  echo
  echo "  Collect heap file names from ISABELLE_PATH."
  echo
  exit 1
}


## main

[ "$#" -ne 0 ] && usage

declare -a LOGICS=()
declare -a ISABELLE_PATHS=()

ORIG_IFS="$IFS"; IFS=":"; ISABELLE_PATHS=($ISABELLE_PATH); IFS=$ORIG_IFS

for DIR in "${ISABELLE_PATHS[@]}"
do
  DIR="$DIR/$ML_IDENTIFIER"
  for FILE in "$DIR"/*
  do
    if [ -f "$FILE" ]; then
      NAME=$(basename "$FILE")
      LOGICS+=("$NAME")
    fi
  done
done

echo $({ for L in ${LOGICS[@]}; do echo "$L"; done; } | sort | uniq)