1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Perl - case sensitivity ignorieren

Dieses Thema im Forum "Programmieren" wurde erstellt von mogbo, 15 Mai 2017.

  1. mogbo

    mogbo Does it run under Windows? Who cares?

    Registriert seit:
    12 September 2016
    Beiträge:
    465
    Hallo,
    habe ein aktuelles Problem, da ich in einer großen Menge von Textdateien nach einem uralten Datenbank-User suchen muss (Passwörter stehen in der gleichen Zeile innerhalb der *.asn), jetzt wollte ich lediglich:

    Code:
    cd /pfad/zum/netzlaufwerk
    cat `ls -R` | perl -lane 'print if /example_user/'
    
    Da der Unsinn über cygwin auf Windows innerhalb eines Netzlaufwerkes mit schlechter Anbindung läuft, dauert das Ganze ewig. Ein weiteres Problem ist die case sensitivity, da ich die User nicht angelegt habe und somit nicht wirklich weiß ob sie nur in Kleinbuchstaben in den *.asn Dateien stehen.

    Gibt es eine einfache Möglichkeit meinen Befehl "Groß-" und "Kleinschreibung" ignorieren zu lassen?
     
  2. double-p

    double-p BOFH

    Registriert seit:
    6 September 2003
    Beiträge:
    673
    Ort:
    Buxtehude, Germany
    grep -i? Mehr macht das Stueck perl da auch nicht (noch ohne -i). Wenn da noch mehr Logik/Code drin steckt, mal
    auf das hier achten: http://www.perlmonks.org/?node_id=711009
    Also lieber lc (lowercase) und dann direkt matchen als per regexp (was dann /example_user/i waere).
     
    mogbo gefällt das.
  3. mogbo

    mogbo Does it run under Windows? Who cares?

    Registriert seit:
    12 September 2016
    Beiträge:
    465
    vielen Dank,
    Code:
    cat test.asn | perl -lane 'print if /Test_User/i'
    
    Gibt
    test_user
    aus.
     
  4. mogbo

    mogbo Does it run under Windows? Who cares?

    Registriert seit:
    12 September 2016
    Beiträge:
    465
    Vorhin vollständig in meiner Eile überlesen :). Habs sicherheitshalber nochmal mit lc und uc getestet, kein Unterschied.

    Wiedermal was gelernt, immer schön wenn man mehrere Wege kennt:belehren: