dateien durchsuchen mit grep

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Blade, 16.06.2007.

  1. Blade

    Blade Doppel-As

    Dabei seit:
    31.03.2007
    Beiträge:
    102
    Zustimmungen:
    0
    hy

    ich soll alle dateien im verz /etc mit der endung .conf und in unterverzeichnissen begriffe mit smb raussuchen und die namen der dateien anzeigen, die fehlermeldungen sollen in die datei fehler.log geschrieben werden

    ich wollte es jetzt so machen

    Code:
    PHP:
    grep -il * .conf grep -il smb 2>/fehler.log 

    eber er will nicht so, habt ihr noch eventuel eine ideeman das machen könnte?
     
  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 rikola, 16.06.2007
    Zuletzt bearbeitet: 16.06.2007
    rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Was Du machen moechtest, erreichst Du mit
    Code:
    grep -il smb *.conf 2> /fehler.log
    
    In Deiner Befehlskette sind mehrere Fehler:
    1.) Bei grep kommt erst das Suchwort, dann die zu durchsuchenden Dateien
    2.) Falls Du die von grep gefundenen Dateien an einen anderen Befehl weitergeben moechtest (was in Deinem Fall nicht notwendig ist), muesstest Du das mit
    Code:
    grep -il "zweiter Wort" $(grep -il "erstes Wort" *)
    
    machen.

    Ach ja, wenn Du auch Unterverzeichnisse miteinbeziehen moechtest, kannst Du das grep mit der Option '-r' mitteilen.
     
  4. smg

    smg Regex Fetischist

    Dabei seit:
    20.05.2007
    Beiträge:
    195
    Zustimmungen:
    0
    Ort:
    /home/stephan/
    Code:
    find /etc -maxdepth 1 -iregex '.*conf$' -exec grep -il "smb" {} \; 2> /fehler.log
    grep -irl /etc/ -iregex '.*smb.*' \; 2>> /fehler.log
    Aber was für Fehler sollen da auftreten?
     
  5. #4 Blade, 16.06.2007
    Zuletzt bearbeitet: 16.06.2007
    Blade

    Blade Doppel-As

    Dabei seit:
    31.03.2007
    Beiträge:
    102
    Zustimmungen:
    0
    super danke

    das ist nur als übung gedacht habe ich hier in einem buch das wenn fehler auftreten das ich weis wie ich sie umleiten muss

    danke noch ma
    .
    .
    .
    EDIT (autom. Beitragszusammenführung) :
    .

    ach eins noch wenn ich mich unter dem etc verzeichnis befinde und die smb dateien in den unterverzeichnissen suchen möchte und die .conf dateien im etc verzeichnis

    dann müsste ich das doch so machen

    PHP:
    grep -il .conf *etc grep -ir smb *etc 2fehler.log
     
  6. smg

    smg Regex Fetischist

    Dabei seit:
    20.05.2007
    Beiträge:
    195
    Zustimmungen:
    0
    Ort:
    /home/stephan/
    Nein, du kannst grep nicht an ein grep weiter pipen, das macht so keine Sinn.
     
  7. Blade

    Blade Doppel-As

    Dabei seit:
    31.03.2007
    Beiträge:
    102
    Zustimmungen:
    0
    wieso macht das keinen sinn? wenn ich doch noch alle smb dateien die in den unterverzeichnissen stecken sehen will
     
  8. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Wenn Du Dateinamen per pipe an grep weitergibst, fasst es das nicht mehr als Dateinamen sondern als den Text, den es durchsuchen soll, auf, auch wenn dieser aus Dateinamen besteht. Deswegen geht es so nicht.
     
  9. #8 Wolfgang, 16.06.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Du kannst zwar die Ausgabe von grep an grep weiterreichen (pipen), um z.B. die Suchkriterien zu verfeinern. Allerdings erwartet grep die Eingabe über STDIN nur, wenn kein Filehandle übergeben wird.

    In deinem Fall kannst du deine beiden Befehle mit && verküpfen und die Ausgabe beider kanalisieren.
    Du kannst die Befehle auch einfach hintereinander ausführen (eventuell via Klammer in der gleichen Subshell ausführen) und die Fehlerausgabe an die gleiche Datei anfügen.


    Gruß Wolfgang
     
  10. Blade

    Blade Doppel-As

    Dabei seit:
    31.03.2007
    Beiträge:
    102
    Zustimmungen:
    0
    ha als habe es mit

    grep -il .conf *etc && grep -ir smb *etc 2>fehler.log

    ausprobiert so geht es aber garnicht, zumindest seh ich nichts! es kommt auch keine fehlermeldung
     
  11. #10 Wolfgang, 16.06.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Gewöhn dir bitte an den Suchstring in " " zu setzen, sonst ist das Ergebnis nicht immer das was du willst.
    Dein Versuch soll also was suchen?

    Wenn du das Redirect auf STDERR (2) nur einmal setzen willst, dann klammer die beiden Befehle. Alternativ kannst du für jedes grep STDERR auf eine Datei setzen, beim zweiten grep halt durch Anfügen (2>>Datei).

    Die Syntax für grep:
    grep [OPTIONEN] "PATTERN" FILEHANDLE(S)



    Schau dir nochmal genau die Manpage dazu an.

    Auch die PFADEXPANSION der SHELL solltest du dir nochmal ansehen.
    Um z.B. alle Dateien im /etc anzusprechen
    /etc/*

    Gruß Wolfgang
    .
     
  12. Anzeige

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

    Blade Doppel-As

    Dabei seit:
    31.03.2007
    Beiträge:
    102
    Zustimmungen:
    0
    ah ich glaube ich habe es kapiert!
    bin jetzt hin und hab einfach

    "grep -il .cont*etc>>test1.log | grep -ir smb *etc>>test1.log 2>>fehler.log"

    angegeben so bekomm ich das ergebnis in einer datei ausgegeben und und kann mit >> immer die abtuellere datei anhängen.

    guck mir die anderen sachen aber trotzdem noch mal an

    danke
     
  14. smg

    smg Regex Fetischist

    Dabei seit:
    20.05.2007
    Beiträge:
    195
    Zustimmungen:
    0
    Ort:
    /home/stephan/
    man tee eventuell auch interessant für dich
     
Thema:

dateien durchsuchen mit grep

Die Seite wird geladen...

dateien durchsuchen mit grep - Ähnliche Themen

  1. ant - Dateien durchsuchen

    ant - Dateien durchsuchen: Hallo, ich habe eine frage. Wie kann ich mit ant (oder kann ich überhaupt) einen bestimmten Inhalt in mehreren Dateien suchen? Also ich habe...
  2. Mehrere Verzeichnisse nach best. Dateien/Verz. durchsuchen

    Mehrere Verzeichnisse nach best. Dateien/Verz. durchsuchen: Hi, ich bin neu hier und auch shell-programmierung ist für mich recht neu. Aber ich verzweifle langsam und daher hoffe ich ihr könnt mir weiter...
  3. bash - Datei nach Muster durchsuchen und bis Dateiende ersetzen/löschen

    bash - Datei nach Muster durchsuchen und bis Dateiende ersetzen/löschen: Ich wieder :brav: Meine Datei: #Muster1 TEXT TEXT TEXT #Muster2 TEXT TEXT BELIEBIG VIEL TEXT #Muster3 TEXT TEXT TEXT TEXT TEXT BELIEBIG...
  4. Skript: Dateien nach Datum durchsuchen und per FTP übertragen

    Skript: Dateien nach Datum durchsuchen und per FTP übertragen: Hallo, Ich versuche schon seit 2 Tagen verzweifelt ein Skript zu schreiben, welches mir in einem remoten Ordner nach Dateien sucht, die...
  5. ordner rekursiv durchsuchen und dateien löschen

    ordner rekursiv durchsuchen und dateien löschen: hallo wie kann ich denn einen ordner (und alle unterordner) nach einen bestimmten ordner durchsuchen und löschen? es geht darum dass wegn...