PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Grep Funktion Rückgabewert???



Maruu
10-03-2002, 18:49
Hallo ich will in meinem Shellscript realisieren das ich eine bestimmte Zeichenkette in einer Datei suchen kann. Mit grep -c Zeichenkette Datei geht das auch. Gibt man den Befehl an so gibt er auf dem Bildschirm die anzahl der gefundenen Zeilen aus als Rückgabewert bekomm ich aber immer 0. Wie mach ich das, das ich den Rückgabewert in eine Variable schreibe. Ich will dann z.B. wenn 3 Zeilen gefunden wurden haben das die Variable f=3 ist. Ich glaube das mir grep aber als Rückgabewert 0 für Zeichenkette gefunden 1 für Zeichenkette nicht gefunden und 2 für fehler zurück gibt. Kann ich nicht irgendwie die anzahl der Zeilen in ner Variablen ablegen?? f= grep -c hallo /bin/textdatei.log oder so ???

Oder gibt es eine Alternative zu grep mit der ich die anzahl der gefundenen Zeilen ausgeben kann???
MFG

Maruu

geronet
10-03-2002, 18:56
f=$(grep "String" Datei | wc -l)

Grüsse, Stefan

flasheye
10-03-2002, 19:59
Hallo,

der Rückgabewert ist 0, weil etwas gefunden wurde.

Rückgabewert == 0 -> Kommando war erfolgreich
Rückgabewert != 0 -> Kommando war nicht erfolgreich

Man nennt das auch EXIT_STATUS. Das ist ja keine Funktion wie etwa in C oder so. Das ist also eigentlich gar kein "Rückgabewert". ;)

Willst Du die Anzahl der gefundenen Zeilen in einer Variable stehen haben, dann mach es so wie geronet es beschrieben hat.

bye.