Hallo,
zum Suchen eines Strings in Files habe ich das Script keyword geschrieben
find . -type f -print | xargs grep -li "$1".
Wie muss ich das Script umschreiben, dass ich Fehlermeldungen wie \'grep: Das: Datei oder Verzeichnis nicht gefunden\' für Graphik- o. ähnlichen Dateien unterbinde?
Dank im voraus edico
Linux 15.036 Themen, 107.107 Beiträge
mit einem zusätzlichen grep -v "nicht gefunden"
werden alle Zeilen, welche Suchwort enthalten , in dem Fall "nicht gefunden" unterdrückt !
Hoffe dies meinst Du ??
repi
oder alternative ; die fehlerausgabe ( also ausgabekanal 2 ) nach /dev/null umleiten , "2>/dev/null" ohne "" an den befehl anhängen
Hi asd,
damit hatte ich auch schon rum experimentiert - aber ohne Erfolg.
Deine Empfehlung sieht dann so aus: find . -type f -print | xargs grep -li "$1" 2>/dev/null,
bringt aber bei mir nichts. Hab jetzt nicht alle Zeilen kontrolliert- aber der command eiert alle Dateien ab und kommt zu 'abstrusen' (für mich) Meldungen, wo er Internet-links auseinandergerissen einzeln betrachtet und logischerweise als Fehler meldet :
grep: Finden: Datei oder Verzeichnis nicht gefunden
grep: Sie: Datei oder Verzeichnis nicht gefunden
grep: kostenlose: Datei oder Verzeichnis nicht gefunden
grep: Bauanleitungen: Datei oder Verzeichnis nicht gefunden
grep: und: Datei oder Verzeichnis nicht gefunden
grep: Bastelvorlagen!: Datei oder Verzeichnis nicht gefunden
Einige wichtige Dateien sichere durch script im Extraverzeichnis: Hier scheint er alle Files aufzulisten!
Was ist denn da los!? Wo mache ich den Fehler? Hast Du noch ne Idee, Du scheinst Dich ja prächtig auszukennen?
edico
stell mal das script hier rein, ich denke das Du einen fehler drin hast...
Hei asd,
also - ich hab das ganze script noch mal umgeschrieben und aus meinem Verständnis auch flexibler hinischtlich der Verzeichnis-Aufrufe gemacht. Muss natürlich jetzt das Dir eingeben. Auf alle Fälle läuft jetzt auch die Null-Nummer!
#!/bin/bash
#Im Verzeichnis rekursiv alle Dateien nach "String" durchsuchen
#command: keyword string dir
grep -rli "$1" $2/* 2>/dev/null
Haste noch Verbesserungen (Vereinfachungen)? Dank.
edico
Hei repi,
danke - ne das mein ich nicht (s. anderes posting). Ich will nur die Zeilen (mit den Dateien) sehen, die tatsächlich den String auch haben und nicht tausend Fehlermeldungen durchgucken müssen.
edico