Vergleich bei unterschiedlicher Schreibweise eines übergebenen Parameters

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von mercurius, 08.12.2012.

  1. #1 mercurius, 08.12.2012
    mercurius

    mercurius Grünschnabel

    Dabei seit:
    08.12.2012
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo,

    ich bin unerfahren in der Script-Erstellung und suche für folgendes Problem eine Lösung:

    Als Aufrufparameter erwartet mein Script den Namen einer Datei. Die Datei muß eine Rar-Datei sein, was ich natürlich im Script überprüfen will. Bisher erledige ich das durch den Vergleich der Dateiendung mit dem Begriff "rar". Wenn die Datei aber "xxx.Rar" oder "xxx.RAR" heißt, schlägt der Vergleich natürlich fehl. Wie erreiche ich, dass alle Schreibweisen des Begriffs als gültig akzeptiert werden? Gibt es so etwas wie "upper" oder "lower" , also
    Umwandlung aller Buchstaben eines Wortes (einer Variablen) in Groß- bzw. Kleinbuchstaben auch innerhalb der Bash? Die Suchfunktion hat mir leider nicht weitergeholfen.

    Danke für eure Tipps.

    mercurius

    PS: Geht's irgendwie mit filetype??
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 doc, 08.12.2012
    Zuletzt bearbeitet: 08.12.2012
    doc

    doc Kaffeetrinker

    Dabei seit:
    26.08.2006
    Beiträge:
    586
    Zustimmungen:
    0
    Ort:
    bremen
    da gibts etliche möglichkeiten ... mal ein beispiel:

    Code:
    sh-4.2$ input="bla.rAr";echo "${input##*.}" | egrep -ie '(^rar$|^zip$|^tgz$|^7z$)'
    rAr
    sh-4.2$ input="bla.rAr";echo "${input##*.}" | egrep -ie '(^rar$|^zip$|^tgz$|^7z$)'| tr [:lower:] [:upper:]
    RAR
    sh-4.2$ input="bla.rAr";echo "${input##*.}" | egrep -ie '(^rar$|^zip$|^tgz$|^7z$)'| tr [:upper:] [:lower:]
    rar
    sh-4.2$
    für dich ist dann wohl in erster linie das
    Code:
    tr [:upper:] [:lower:]
    interessant
     
  4. #3 Spröde, 09.12.2012
    Spröde

    Spröde Alter Sack

    Dabei seit:
    22.01.2012
    Beiträge:
    173
    Zustimmungen:
    0
    Innerhalb der Bash kann man RegEx bemühen:
    Code:
    if [[ $file =~ .*\.[rR][aA][rR] ]]
    then
      echo $file
    fi
     
  5. #4 mercurius, 09.12.2012
    mercurius

    mercurius Grünschnabel

    Dabei seit:
    08.12.2012
    Beiträge:
    2
    Zustimmungen:
    0
    Danke für die schnelle Hilfe!

    mercurius
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Vergleich bei unterschiedlicher Schreibweise eines übergebenen Parameters

Die Seite wird geladen...

Vergleich bei unterschiedlicher Schreibweise eines übergebenen Parameters - Ähnliche Themen

  1. Alle Dateien eines Verzeichnisses mit einer anderen Datei vergleichen

    Alle Dateien eines Verzeichnisses mit einer anderen Datei vergleichen: Hallo, ich habe ein Verzeichnis, darin enthalten sind mehrere Dateien. Nun möchte ich alle Dateien (Parameter $1) gegen eine konstante Datei...
  2. Dateiinhalte vergleichen - Neue Sätze dann ausgeben

    Dateiinhalte vergleichen - Neue Sätze dann ausgeben: Liebe Forumsmitglieder, ich benöte mal wieder Eure Hilfe: Ich möchte 2 Dateien vergleichen. Datei-1 hat z.B. 100 Datensätze mit mehreren Feldern...
  3. Benötige Hilfe- Dateien vergleichen

    Benötige Hilfe- Dateien vergleichen: Hallo, für eine Arbeit an der Uni muss ich einige viele Bilder miteinander vergleichen, was ich gerne durch eine Automatisierung etwas...
  4. Vergleich der Entwicklerdesktops: 2002 und heute

    Vergleich der Entwicklerdesktops: 2002 und heute: Nachdem Anders Jensen-Urstad bereits 2002 diverse prominente Unix- und Open Source-Entwickler anschrieb und um einen Screenshot ihres Desktops...
  5. Mit VIM Dateien vergleichen und Unterschiede sichtbar machen

    Mit VIM Dateien vergleichen und Unterschiede sichtbar machen: Hallo, mit VIM ist es recht passabel möglich, zwei Dateien zu vergleichen und die Unterschiede hübsch aufbereitet anzeigen zu lassen: # vim -d...