nach variablen mit grep suchen

Dieses Thema im Forum "Programmieren allgemein" wurde erstellt von net-zwreg, 08.11.2006.

  1. #1 net-zwreg, 08.11.2006
    net-zwreg

    net-zwreg Grünschnabel

    Dabei seit:
    08.11.2006
    Beiträge:
    4
    Zustimmungen:
    0
    Hallo
    Ich kenne mich nicht besonders toll mit grep aus, und hätte da mal ne Frage:

    Ich will mit grep meine Implementierungen nach Variblen und Funktionen durchsuchen und anzeigen lassen. Wie muss ich grep dann einstellen?

    Ich habe es schon mal versucht, nach folgendem Muster zu suchen:

    typename (Leerzeichen) variablenname (Lerrzeichen) (= oder ;) (eventuell [(Leerzeichen) (String)]ein oder mehrmals)

    Allerdings, wenn ich grep dann ausführe findet er nichts. Die Syntax sieht bei mir folgendermaßen aus:
    -E [a-zA-Z]{,1}\s+[\w|\W]{,1}\s+[=\|;]{,1}\s+[\<\w]+

    Ich weiß, sehr unübersichtlich, aber wie gesagt, ich kenne mich mit grep nicht aus, und im Internet finde ich keine Anschaulichen beispiele

    Danke für eure Hilfe
     
  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 supersucker, 08.11.2006
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Dein regex stimmt so nicht.

    Code:
    {,1}
    bedeutet: Erkenne min. 0 zeichen, max. 1 Zeichen.

    Was nicht das sein dürfte was du willst.

    Auch dieses

    Code:
    [\w|\W]
    Konstrukt ist sehr fragwürdig.

    Lies dir doch mal das hier durch, speziell die weiterführenden Links enthalten leichtverständliche Tutorials.
     
  4. #3 net-zwreg, 08.11.2006
    net-zwreg

    net-zwreg Grünschnabel

    Dabei seit:
    08.11.2006
    Beiträge:
    4
    Zustimmungen:
    0
    Danke ,aber das hilft mir leider auch nicht weiter, mittlerweile, habe ich einen neuen versuch gestartet, der folgendermaßen aussieht:
    -E "^.+ {1,}[\w\|_]+ {1,}[=\|;]{1} \"*[\w\|\W]*\"*"
    D.h. bzw. das "soll" heißen:

    Suche am Anfang einer Zeile nach einem oder mehreren Buchstaben = typename
    dann mindestens ein Leerzeichen
    dann ein oder mehrere alphanumerische zeichen oder ein _
    wieder ein oder mehrere Leerzeichen
    ein = oder ein ; eines von beiden "muss" vorhanden sein
    dann ein oder mehrere alphanumerische Zeichen in ""
     
  5. #4 Xanti, 08.11.2006
    Zuletzt bearbeitet: 08.11.2006
    Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Code:
    -E '^[[:alpha:]]+ +([[:alnum:]]+|_) +(;|=)"[[:alnum:]]+"'
    
    Gruss, Xanti
     
  6. #5 net-zwreg, 08.11.2006
    net-zwreg

    net-zwreg Grünschnabel

    Dabei seit:
    08.11.2006
    Beiträge:
    4
    Zustimmungen:
    0
    Danke Xanti für deine Mühe, aber das funktioniert bei mir gar nicht. Habe aber trotzdem eine paar Frage dazu:
    Warum zwei [[ bzw. ]]?
    Außerdem ist mir nicht ganz klar was du mit
    ([[:alnum:]]+|_) meinst. Ich suche etwas, was mir z.B. folgende Ausdrücke ausgibt:

    DB db_Main = null;
    DB dbwert = " Wer Rechtschreibfehler findet, darf sie behalten";
     
  7. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Das dies nicht funktioniert, hat wahrscheinlich zwei Gründe:

    1. welche Version von grep hast Du (nebst Betriebssystem)
    2. Solltest Du Deine Aufgabenstellung etwas konkreter stellen

    Mein regexp tut das, was Du hier wolltest:

    Auf Deine (im letzten Post gebrachten) Beispielzeilen matcht

    Code:
    -E '^[[:alpha:]]+ +[[:alnum:]_]+ +(;|=)'
    
    Zu Deiner Frage:

    [:alpha:] ... sind Posix-Klassen. Wenn Du sie in einer Mengenangabe in grep benutzen willst, sind es halt [[...]]-ähnliche Konstrukte.

    ([[:alnum]]+|_) entspricht :

     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. #7 net-zwreg, 08.11.2006
    net-zwreg

    net-zwreg Grünschnabel

    Dabei seit:
    08.11.2006
    Beiträge:
    4
    Zustimmungen:
    0
    Ich habe die Version grep 2.5.1a
    Betriebssystem Windows XP
    Sorry meinte alphanumerische Zeichen oder ein oder mehrere _ zwischen den Zeichen also etwa sowas: db_Main

    Der Zweck ist halt, wie ich im ersten Post geschrieben habe eine suche nach variablen in der Form:
    typname varname =|; Wert|Ausdruck
     
  10. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Hier klink ich mich dann mal aus. :devil:
     
Thema:

nach variablen mit grep suchen

Die Seite wird geladen...

nach variablen mit grep suchen - Ähnliche Themen

  1. skript als daemon nachdem variablen eingegeben wurden

    skript als daemon nachdem variablen eingegeben wurden: hallo zusammen! ich möchte ein skript als daemon im hintergrund laufen lassen aber vorher noch zwei variablen (zB den timer für eine sleep...
  2. Keine Benachrichtigungen im Vollbild Modus

    Keine Benachrichtigungen im Vollbild Modus: Arch Linux Plasma 5.8 Weiss einer ob das gehen sollte, bzw kann mal einer testen ob es bei ihm geht, gerne auch mit anderen kde/plasma versionen....
  3. SRV Records nicht erstellt nach dcpromo

    SRV Records nicht erstellt nach dcpromo: Hallo zusammen, leider sind beim Join meines 2. DC in eine Samba 4 Domäne die SRV-DNS Records nicht erstellt worden... Hatte jemand schonmal das...
  4. CentOS 7: Falsche Metric bei regelbasiertem Routing nach Server-Reboot

    CentOS 7: Falsche Metric bei regelbasiertem Routing nach Server-Reboot: Hallo zusammen Ich möchte unseren existierenden SFTP Server durch einen neuen Server mit CentOS 7 ersetzen. Da der Server einerseits direkt via...
  5. Nicht erkannte Zeichen nach Update

    Nicht erkannte Zeichen nach Update: Hi, nachdem ich mein Kali Linux geupdated habe, ist mir aufgefallen dass viele Zeichen auf verschiedenen Nutzeroberflächen nur fehlerhaft...