Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

19.05.2010, 16:28

[gelöst] Umsetzung Groß- und Kleinschreibung in bash

Hallo,

als bash-Neuling habe ich ein Projekt vor mir, bei dem ich vorher nicht weiß, ob Verzeichnisnamen nur groß oder gemischtgeschrieben sind.
Beispiel: Baden-Württemberg wird in dem einen Zweig als BW geschrieben, in dem anderen als Bw.
Da aber bei Eingabe der Parameter nicht klar ist, in welchen Zweig das Script läuft, kann der User hier nichts entscheiden.

Wie wandele ich in dem Moment, wo ich im Script weiß in welchen Zweig ich laufe den Parameterinhalt bw oder BW in Bw um, bzw Bw in BW?

Nur Groß- oder nur Kleinschreibung ist ja scheints nicht schwer, aber gemischt?

2

19.05.2010, 19:48

Vielleicht mit Hilfe von Substrings? Siehe "man bash" unter EXPANSION im Abschnitt "Parameter Expansion" der Absatz mit dem folgenden am Anfang:

Quellcode

1
2
       ${parameter:offset}
       ${parameter:offset:length}


PS: Was Du schreibst ist noch ziemlich vage. Kannst Du das mehr konkretisieren? Mit einem Pseudo-Code-Schnipsel oder etwas echtem Code vielleicht?

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

3

19.05.2010, 23:45

RE: Umsetzung Groß- und Kleinschreibung in bash

es ist wirklich nicht zu verstehen, was du willst.
willst du alle usereingaben komplett in zb kleinschreibung umwandeln ( mit tr zb) oder was?
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

4

20.05.2010, 14:19

Dann versuch ich die Problembeschreibung noch mal:

Ein User startet ein Script mit der Übergabe u.a. eines Parameters, in der die Region, die ausgewertet werden soll steht, z.B. Baden-Württemberg abgekürzt als bw.

In der Regel werden aber alle Kürzel in den Verzeichnis- und Dateinamen als Bw gespeichert, aber auch BW ist möglich und kommt vor, aber nur in speziellen Bereichen, die einfach abzufragen sind.

Welche Schreibweise (also BW oder bw oder Bw) ich brauche ist leicht herauszufinden.
Aber ich habe keine Kontrolle darüber, ob der User BW oder bw oder Bw eingibt.

Folgende Parameterumwandlungen für den $5 brauche ich also:
bw in BW oder Bw
BW in Bw
und Bw in BW

(und das gleiche für HS, NI, RP etc.)

5

20.05.2010, 14:57

jetzt mal saublöd gefragt :
wäre es da nicht sinnvoller dem User zu sagen, er soll Zahlen eingeben ? Also 1 für Baden-Württemberg, 2 für Bayern usw.; das erschwert Tippfehler, geht schneller und erleichtert dir die Arbeit....

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »delix« (20.05.2010, 14:58)


6

20.05.2010, 20:45

Ich denke, dann geht es mit den Substrings, die ich bereits erwähnte. Damit kannst Du dann einen Teil der Zeichenfolge betrachten, vergleichen und konvertieren und dann wird das schon passen.
Also z.B.:

Quellcode

1
2
3
4
5
foo='bw';
uplow="$(echo ${foo:0:1}|tr [:lower:] [:upper:])$(echo ${foo:1:1}|tr [:upper:] [:lower:])";
echo "$uplow";
lowup="$(echo ${foo:0:1}|tr [:upper:] [:lower:])$(echo ${foo:1:1}|tr [:lower:] [:upper:])";
echo "$lowup";
(Die meisten Anführungszeichen hier sind in diesem Fall nur Deko. Wenn es aber echte Benutzereingaben sind, dann könnte das eine oder andere Anführungszeichen nicht schaden, denn wer weiß, was die so eingeben... Manche Benutzer kriegen echt alles kaputt...)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »oziris« (20.05.2010, 20:47)


7

25.05.2010, 13:56

@delix:
Schon mal versucht, etwas zu ändern, wenn mehrere Abteilungen aus mehreren Bereichen mit 120%igen Individualisten betroffen sind? :gemetzel:

@oziris:
Das scheint ein erfolgversprechender Weg. :danke:

Thema bewerten