aX: kLosS -> GrEIn ???!

Winfried Goss wg at ifs.th-darmstadt.de
Do Nov 9 18:38:11 CET 1995


Hallo allerseits,

die neue Regelung, Kleinschreibungen der Dateiendungen unter UNIX
nicht nur zu erlauben, sondern vorzuschreiben, kann man ja nur
begruessen. Voellig abwegig ist es allerdings, wenn das Gross-
Kleinschreibe-Dilemma nun auch auf Pfadnamen uebertragen wird!!!

Anbei ein Testscript, dass fuer moegliche und unmoegliche Kombinationen
unmoegliche und moegliche Resultate liefert...  :-((
Wer es selber ausprobieren moechte, setzt seine Pfade und Dateinamen
entsprechend, und aktiviert dann abwechselnd jeweils eine Zeile, die
mit "# ../14a/srch" beginnt, indem er das "#" am Anfang entfernt:

------------------------------8<-----------------------------

#! /bin/sh
 
USER=wg
export USER
DRUCKER=/dev/null
export DRUCKER

echo Suchbegriff:
read BEGRIFF

# s1.asp wird nicht im Programmverzeichnis gefunden!
# Datei $USER.tmp wird erstellt und nicht geloescht!

rm test* wg.tmp

# aktuelles Verzeichnis: /usr/home/wg/ax/db
# Programmverzeichnis: /usr/home/wg/ax/14a

# ../14a/srch -P/usr/home/wg/ax/14a -f4 -s$BEGRIFF -dkat_%.ald -e/usr/home/wg/ax/i-1=test -bkat -m0
# -> findet ../i-1.apr, erstellt test
# ../14a/srch -P/USR/HOME/WG/AX/14A -f4 -s$BEGRIFF -dkat_%.ald -e/USR/HOME/WG/AX/I-1=test -bkat -m0
# -> findet ../i-1.apr (I-1.apr existiert nicht), erstellt test (!)
# ../14a/srch -P/USR/HOME/WG/AX/14A -f4 -s$BEGRIFF -dkat_%.ald -e/USR/HOME/WG/AX/I-1.APR=test -bKAT -m0
# -> findet ../i-1.apr (I-1.APR, KAT.api existieren nicht!), erstellt test (!)
# ../14a/srch -P/USR/HOME/WG/AX/14A -f4 -s$BEGRIFF -dKAT_%.ALD -e/USR/HOME/WG/AX/I-1.APR=test -bKAT -m0
# -> "Unzulaessige Typangabe in .ALD", Abbruch
# ../14a/srch -P/USR/HOME/WG/AX/14A -f4 -s$BEGRIFF -dKAT_%.ald -e/USR/HOME/WG/AX/I-1.APR=test -bKAT -m0
# -> "Datei %s nicht zu finden", Absturz (!!!)

# ../14a/srch -P/usr/home/wg/ax/14a -f4 -s$BEGRIFF -dkat_%.ald -e../i-1=test -bkat -m0
# -> findet ../i-1.apr nicht, obschon vorhanden
# ../14a/srch -P/usr/home/wg/ax/14a -f4 -s$BEGRIFF -dkat_%.ald -e../i-1.apr=test -bkat -m0
# -> erstellt test
# ../14a/srch -P/usr/home/wg/ax/14a -f4 -s$BEGRIFF -dkat_%.ald -ei-1=test -bkat -m0
# -> findet i-1.apr im Programmverzeichnis, erstellt test.aLG
# ../14a/srch -P/usr/home/wg/ax/14a -f4 -s$BEGRIFF -dkat_%.ald -ei-1.apr=test -bkat -m0
# -> findet i-1.apr im Programmverzeichnis, erstellt test.aLG
# ../14a/srch -P/usr/home/wg/ax/14a -f4 -s$BEGRIFF -dkat_%.ald -ei-1=test -bkat -m0
# -> findet i-1.apr im Datenverzeichnis, erstellt test.aLG

# Umbenennung /usr/home/wg/ax in /usr/home/wg/aX
# aktuelles Verzeichnis: /usr/home/wg/aX/db
# Programmverzeichnis: /usr/home/wg/aX/14a

# ../14a/srch -P/usr/home/wg/aX/14a -f4 -s$BEGRIFF -dkat_%.ald -e/usr/home/wg/aX/i-1=test -bkat -m0
# -> findet ../i-1.apr nicht
# ../14a/srch -P/usr/home/wg/aX/14a -f4 -s$BEGRIFF -dkat_%.ald -e/usr/home/wg/aX/i-1.apr=test -bkat -m0
# -> findet ../i-1.apr nicht
# ../14a/srch -P/usr/home/wg/aX/14a -f4 -s$BEGRIFF -dkat_%.ald -e../i-1=test -bkat -m0
# -> findet ../i-1.apr nicht
# ../14a/srch -P/usr/home/wg/aX/14a -f4 -s$BEGRIFF -dkat_%.ald -e../i-1.apr=test -bkat -m0
# -> findet ../i-1.apr, erstellt test
# ../14a/srch -P/usr/home/wg/aX/14a -f4 -s$BEGRIFF -dkat_%.ald -ei-1=test -bkat -m0
# -> findet i-1.apr nicht im Programmverzeichnis 
# ../14a/srch -P/usr/home/wg/aX/14a -f4 -s$BEGRIFF -dkat_%.ald -ei-1.apr=test -bkat -m0
# -> findet i-1.apr nicht im Programmverzeichnis
# ../14a/srch -P/usr/home/wg/aX/14a -f4 -s$BEGRIFF -dkat_%.ald -ei-1=test -bkat -m0
# -> findet i-1.apr im Datenverzeichnis, erstellt test.aLG
# ../14a/srch -P/usr/home/wg/aX/14a -f4 -s$BEGRIFF -dkat_%.ald -ei-1.apr=test -bkat -m0
# -> findet i-1.apr im Datenverzeichnis, erstellt test.aLG

----------------------------------->8------------------------------------

Wer bis hierhin durchgehalten hat, freut sich vielleicht ueber das folgende
kleine shell-script, das die Umwandlung beliebiger Dateinamen von Gross-
nach Kleinschreibung etwas vereinfacht:

------------------------------------8<----------------------------------
#! /bin/sh
# up2low

if [ -d "$1" ]
then
  cd "$1"
  for i in *
  do
    NeuerName="`echo "$i" | tr '[A-Z]' '[a-z]'`"
    if [ ! "$i" = "$NeuerName" ]
    then
      echo "$i -> $NeuerName"
      mv "$i" "$NeuerName"
    else
      echo "$i unveraendert"
    fi
  done
else
  if [ ! "$1" ]
  then
    echo "Aufruf: up2low {Verzeichnis}"
    echo "Dateinamen im angegebenen Verzeichnis werden in Kleinbuchstaben konvertiert"
  else
    echo "Verzeichnis '$1' existiert nicht!"
  fi
fi  

---------------------------------->8--------------------------------

Viele Gruesse,
WG

--
Winfried Goss                           Technische Hochschule Darmstadt
                                        Institut fuer Soziologie
Email: goss at ifs.th-darmstadt.de         Residenzschloss
Voice: +49 6151 16 5266                 D-64283 Darmstadt
Fax:   +49 6151 16 6042                 Germany



Mehr Informationen über die Mailingliste Allegro