grep - In Befehlsausgabe suchen

  • Hallo
    Ich habe Schwierigkeiten mit grep. Und zwar gehts um mehrere Begriffe die ausgewertet werden sollen. Ich habe dazu einen Ordner erstellt mit ein paar Dateien darin. Zuerst mal auflisten:

    Code
    ls
    Datei01.aaa  Datei02.bbb  Datei03.ccc  Datei04.ddd

    Jetzt wird nach der Zeichenfolge aaa gesucht, das funktioniert auch. Aber wenn ich nach zwei Begriffen suche, also aaa & bbb funktioniert grep nicht:

    Code
    ls | grep aaa
    Datei01.aaa
    #
    ls | grep aaa bbb
    grep: bbb: Datei oder Verzeichnis nicht gefunden

    Alle möglichen Kombinationen versucht, keine funktioniert:

    ls | grep -E aaa|bbb ---- ls|grep aaa|greb bbb----ls | grep -E aaa|greb bbb

    Entweder es kommt kein Ergebnis oder grep: bbb: Datei oder Verzeichnis nicht gefunden.

    Es sollte imho mit einer der Kombinationen funktionieren. Ich habe viel gegoogelt, aber das führte zu nix.

    Hat jemand ne Lösung oder einen Vorschlag zu einer Alternative zu greb? Oder mache ich was falsch?

    Das ist hier natürlich ein einfaches Beispiel, ich will das eigentlich mit der Ausgabe von Mediainfo (cli) erreichen, da gehts aber auch nicht. Deshalb hier das einfache Beispiel.

    °°                                                       CPU: AMD Ryzen 7 5800X | GPU: AMD Radeon Sapphire Nitro+ RX 7700 XT
    MfG LaGGGer                                  MoBo: Asus Prime B350-PLUS | Ram: Corsair Vengeance 16GB | BS: Manjaro XFCE

  • Könnte das der Fehler sein?

    Was meinst du? Das ist doch nur eine Aufzählung der Parameter die ich gestetet Habe. Wie gesagt, keine funktioniert.

    °°                                                       CPU: AMD Ryzen 7 5800X | GPU: AMD Radeon Sapphire Nitro+ RX 7700 XT
    MfG LaGGGer                                  MoBo: Asus Prime B350-PLUS | Ram: Corsair Vengeance 16GB | BS: Manjaro XFCE

  • Dass kann so auch nicht funktionieren da die Bash in Zeile 4 dass bbb als eigenständigen Befehl ansieht.

    Du bist auf dem richtigen Weg mit deinem 2ten Versuch ls | grep -E aaa|bbb hast aber die ' ' vergessen zusätzlich muss du den Trennstrich | Maskieren damit die Bash diesen nicht nicht Interpretiert sondern grep.

    Code
    ls | grep 'aaa\|bbb'
    Datei01.aaa
    Datei02.bbb
    Datei.aaa
    Datei.bbb

    Der Versuch ls | grep -E aaa|greb bbb funktioniert nicht da du ja mit dem 2ten grep in der Ausgabe des Ersten suchen würdest.

    Aber wie Immer führen viele Wege zum Ziel,

    Code
    ls |grep -e aaa -e bbb
    Datei01.aaa
    Datei02.bbb
    Datei.aaa
    Datei.bbb

    oder

    Code
    ls | egrep -w 'aaa|bbb'
    Datei01.aaa
    Datei02.bbb
    Datei.aaa
    Datei.bbb
  • Ach Leute... habe mich nur verschrieben.... ich weis sehr wohl das es grep heist. Die CodeBoxen stimmen ja ..

    Was soll der Hinweis zu Ubuntu?! Hab das alles schon gelesen, bevor ich mich hier melde.

    Und testen tue ich das schon seit über 3 Stunden!

    °°                                                       CPU: AMD Ryzen 7 5800X | GPU: AMD Radeon Sapphire Nitro+ RX 7700 XT
    MfG LaGGGer                                  MoBo: Asus Prime B350-PLUS | Ram: Corsair Vengeance 16GB | BS: Manjaro XFCE

  • Dass kann so auch nicht funktionieren da die Bash in Zeile 4 dass bbb als eigenständigen Befehl ansieht.

    Du bist auf dem richtigen Weg mit deinem 2ten Versuch ls | grep -E aaa|bbb hast aber die ' ' vergessen zusätzlich muss du den Trennstrich | Maskieren damit die Bash diesen nicht nicht Interpretiert sondern grep.

    Ja, genau, das hat jetzt endlich funktioniert. Hab zwar einiges getestet, aber das noch nicht. Und die Anführungszeichen habe ich auch nicht getestet weils ja keine Wörter mit Leerzeichen sind.

    THX!

    °°                                                       CPU: AMD Ryzen 7 5800X | GPU: AMD Radeon Sapphire Nitro+ RX 7700 XT
    MfG LaGGGer                                  MoBo: Asus Prime B350-PLUS | Ram: Corsair Vengeance 16GB | BS: Manjaro XFCE

  • bttr

    Selbst wenn er es richtig geschrieben hätte würde der Syntax ls|grep aaa|greb bbb nicht funktionieren, bzw in diesem Fall nichts anzeigen.

    Quote

    Woher sollen wir das wissen?

    Wie kommst du darauf dass er es nicht gelesen hat?

    Er hatte ja schon die Idee mit einer | (Pipe) zu arbeiten, dass muss er ja irgendwo gelesen haben.

  • Manometer..

    Was soll diese "ich-bin-tiefst-beleidigt" Tour? Ich bin genervt weil ich hier schon stundenlang mit dem Problem rumhänge. Und das ich nicht aus dem Tal der Ahnungslosen komme, hättet ihr auch merken können.

    faxxy hat mein Problem sofort verstanden. Ohne mich auf Schreibfehler hinzuweisen.

    °°                                                       CPU: AMD Ryzen 7 5800X | GPU: AMD Radeon Sapphire Nitro+ RX 7700 XT
    MfG LaGGGer                                  MoBo: Asus Prime B350-PLUS | Ram: Corsair Vengeance 16GB | BS: Manjaro XFCE

  • Dann brauchst Du auch keine Hilfe.

    Ohne Worte.

    Es ginge auch noch:
    Code ls *.{aaa,bbb,ccc,ddd}

    Sag mal liest sich eigentlich Irgendwer die Posts des Threaderstellers durch oder wird einfach nur drauf los geschrieben?

    Das ist hier natürlich ein einfaches Beispiel, ich will das eigentlich mit der Ausgabe von Mediainfo (cli) erreichen, da gehts aber auch nicht. Deshalb hier das einfache Beispiel.


    greb ist jetzt nach der Pipe nur ein Parameter?

    Ich weiß nicht worauf du hinauswillst, aber ja mit grep wird einfach die Ausgabe von ls durchsucht.


    EDIT: Okay es ging also nur um den Rechtschreibfehler, Ähh ja okay dann mal ....

    Edited once, last by faxxy (September 29, 2024 at 3:59 PM).

  • Selbst wenn er es richtig geschrieben hätte würde der Syntax ls|grep aaa|greb bbb nicht funktionieren, bzw in diesem Fall nichts anzeigen.

    Richtig.

    Wie kommst du darauf dass er es nicht gelesen hat?

    War eine Vermutung. So wie du vermutest, er/sie hätte es gelesen.

    Er hatte ja schon die Idee mit einer | (Pipe) zu arbeiten, dass muss er ja irgendwo gelesen haben.

    Kennt er/sie ja vielleicht noch von DOS oder Windows. Who knows.

    Ich bin genervt weil ich hier schon stundenlang mit dem Problem rumhänge.

    Und da sollen wir jetzt ganz verständnisvoll sein, wenn du deinen Frust hier ablässt?

    Und das ich nicht aus dem Tal der Ahnungslosen komme, hättet ihr auch merken können.

    Selbst im Tal Nicht-Ahnungslosen sieht man manchmal den Welt vor lauter Bäumen nicht.

    faxxy hat mein Problem sofort verstanden.

    Das freut mich für dich.

    Ohne mich auf Schreibfehler hinzuweisen.

    Die aber durchaus hätten da sein können.

  • Manometer..

    Was soll diese "ich-bin-tiefst-beleidigt" Tour? Ich bin genervt weil ich hier schon stundenlang mit dem Problem rumhänge. Und das ich nicht aus dem Tal der Ahnungslosen komme, hättet ihr auch merken können.

    faxxy hat mein Problem sofort verstanden. Ohne mich auf Schreibfehler hinzuweisen.

    Das Agroverhalten ist als Hilfesuchender einfach unpassend. Wenn Du genervt bist mach Pause und komm runter.

    Schreibfehler waren schon oft genug das Problem.

    Was ist also verkehrt darauf hinzuweisen das es auch hier so sein könnte.

  • kim88 September 29, 2024 at 4:21 PM

    Closed the thread.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!