RegEx Problem ... grep kein \. außer \.name

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Lito, 14.09.2011.

  1. Lito

    Lito Grünschnabel

    Dabei seit:
    14.09.2011
    Beiträge:
    2
    Zustimmungen:
    0
    Hallo Leute,

    ich möchte gerne einen regulären ausdruck zum filtern bestimmter dateien außer 1 bestimmten.

    Konkret bedeutet das ich möchte alle dateien die mit einem punkt beginnen nicht angezeigt bekommen außer .dateiname (hoffe Ihr versteht was ich meine)

    Meine idee klappt nicht so wirklich hat jeman eine idee: ls -a | grep ???? ?( ?( ?(


    Danke schon mal wird warscheinlich ne kleinigkeit sein für jemand der das kann :-)
     
  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. marce

    marce Kaiser

    Dabei seit:
    01.08.2007
    Beiträge:
    1.056
    Zustimmungen:
    8
    öhm,
    Code:
    ls -a .dateiname
    ?
     
  4. #3 Lito, 14.09.2011
    Zuletzt bearbeitet: 14.09.2011
    Lito

    Lito Grünschnabel

    Dabei seit:
    14.09.2011
    Beiträge:
    2
    Zustimmungen:
    0
    Hi und Danke für die schnelle Antwort ... Ich muss aber etwas genauer werden :rtfm:...
    Ein Skript läuft das alle Dateien verarbeitet, außer die mit . beginnen und alle Verzeichnisse die mit Punkt beginnen.
    Exkludiert werden also...
    .*/\..* # ...Verzeichnisse und
    ^\..* # ...Files die mit Punkt beginnen

    außer der .proxies Ordner der soll weiterhin verarbeitet werden .

    also ls -a | grep ^[\.] | grep .proxies nur umgedreht ich will also eigentlich alle Dateien mit Punkt am anfang außer .proxies als Regulären ausdruck... die ich meinem Filter übergebe.
    am End geht das auch garnicht mit regEx :think:

    Ich hoffe jetzt ist es Verständlich

    Ich will alle Datein mit Punkt außer .proxies filtern.


    Greetings Eartlings
     
  5. #4 Mad_van_Bert, 14.09.2011
    Zuletzt bearbeitet: 14.09.2011
    Mad_van_Bert

    Mad_van_Bert Grünschnabel

    Dabei seit:
    06.09.2011
    Beiträge:
    7
    Zustimmungen:
    0
    Hi,

    wenn du Dateien ausschließen möchtest, dann benutz doch einfach grep -v. Damit wählst du aus, was du NICHT angezeigt haben möchtest =)

    mfg
    MvB
     
  6. #5 amöbe, 15.09.2011
    Zuletzt bearbeitet: 15.09.2011
    amöbe

    amöbe Tripel-As

    Dabei seit:
    21.01.2007
    Beiträge:
    188
    Zustimmungen:
    0
    Also zunächst: In den eckigen Klammern musst du den Punkt nicht escapen. Außerdem kannst du mit grep mehrere Suchmuster verwenden, die verodert werden.

    Folgendes Script findet Dateien/Ordner, deren erster Buchtstabe kein Punkt ist oder die ".bashrc" heißen:
    Code:
    ls -a | grep -e '^[^.]' -e '^\.bashrc$'
    Wenn du noch zwischen Dateien und Verzeichnissen unterscheiden willst, oder komplexere Tests einbauen willst, solltest du dir mal `find` ansehen, damit kannst du dann sehr flexibel Filterkriterien basteln. (Es gibt z.B. einen `-regex` oder einen `-type f` Filter.)
     
  7. #6 bytepool, 16.09.2011
    Zuletzt bearbeitet: 17.09.2011
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Eh, das fällt aber unter die Kategorie "Warum einfach wenn's auch kompliziert geht", oder?
    Warum nicht einfach $(ls) + den einen Ordner der zusätzlich geprüft werden soll?

    Z.B.:
    Code:
    for file in $(ls) .proxies; do
      echo $file
    done
    
    Wenn es komplexer als eine einfache for Schleife sein soll, kann man den Kram erst in einem Array zwischenspeichern...

    Edit:
    Hrhr, und da trete ich direkt den Beweis an dass ich das schon zu lange nich mehr gemacht hab, statt $(ls) sollte es natuerlich * sein...
    Code:
    for f in * .proxies; do echo $f; done
    
    MfG,
    bytepool
     
  8. Anzeige

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

RegEx Problem ... grep kein \. außer \.name

Die Seite wird geladen...

RegEx Problem ... grep kein \. außer \.name - Ähnliche Themen

  1. Java 1.3 ORO Regex Problem

    Java 1.3 ORO Regex Problem: Hallo Forum, ich habe eine software die Leider unter Java 1.3_10 laufen muss. Als regex "framework" nutzte ich jakarta ORO. Mein Problem...
  2. RegEx Problem

    RegEx Problem: Hi Leute, bräuchte hilfe bei einem RegEx Ausdruck. Hab shcon einiges versucht, aber bisher weder nichts oder das falsche raus bekommen, evtl...
  3. egrep regexp Problem

    egrep regexp Problem: Salute Ich muss mit egrep etwas matchen lassen, was mit a oder f beginnt und anschliessend eine 6 stellige Zahl hat. Bsp: a378570 Die...
  4. sed mit basename verknüpfen - oder anders Dateipfade in Dateien mit regex ersetzen?

    sed mit basename verknüpfen - oder anders Dateipfade in Dateien mit regex ersetzen?: Hallo, mein Ziel ist es ein Script zu schreiben, das eine CSS-Datei entgegen nimmt und in dieser Datei Pfade ersetzt. Ich möchte bspw....
  5. regexp für alle user einer bestimmten Maildomain

    regexp für alle user einer bestimmten Maildomain: Hallo, ich brauche den regulären Ausdruck, der mir erlaubt alle Mailadressen von firma.de zu filtern. Ich habe es schon mit folgenden...