Linux 15.036 Themen, 107.107 Beiträge

shellscript grep

edico / 6 Antworten / Baumansicht Nickles

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

bei Antwort benachrichtigen
REPI edico „shellscript grep“
Optionen

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

Es empfiehlt sich immer, etwas Linux im Hause zu haben.
bei Antwort benachrichtigen
asd (Anonym) REPI „mit einem zusätzlichen grep -v nicht gefunden werden alle Zeilen, welche...“
Optionen

oder alternative ; die fehlerausgabe ( also ausgabekanal 2 ) nach /dev/null umleiten , "2>/dev/null" ohne "" an den befehl anhängen

bei Antwort benachrichtigen
edico asd (Anonym) „oder alternative die fehlerausgabe also ausgabekanal 2 nach /dev/null umleiten ,...“
Optionen

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

bei Antwort benachrichtigen
asd (Anonym) edico „Hi asd, damit hatte ich auch schon rum experimentiert - aber ohne Erfolg. Deine...“
Optionen

stell mal das script hier rein, ich denke das Du einen fehler drin hast...

bei Antwort benachrichtigen
edico asd (Anonym) „stell mal das script hier rein, ich denke das Du einen fehler drin hast... “
Optionen

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

bei Antwort benachrichtigen
edico REPI „mit einem zusätzlichen grep -v nicht gefunden werden alle Zeilen, welche...“
Optionen

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

bei Antwort benachrichtigen