Re: grep mit Zeilenwechseln geht schief
Hallo,
die Schilderung ist etwas verworren; ich hoffe mal, dass ich trotzdem
einigermassen durchschaut habe, worum es geht.:-)
On 2004.09.12 20:45, Gebhard Dettmar wrote:
---schnipp---
#! /bin/sh
grep ACTION_HOME | \
... | \
grep ACTION_KONTEXT mylog >mylog1
---schnapp---
Das ganze erzeugt eine Zeile und hängt sich dann auf.
(Ich hätte sonst mit awk '{print $1}' |sort -u |wc -l die Anzahl der
Sessions)
weiß jemand, warum?
Das sieht so aus, als waeren da gleich zwei Fehler drin. Mit
grep ACTION_HOME
kann niemand etwas anfangen -- schliesslich kann der Rechner ja nicht
ahnen, dass er in mylog suchen soll. Die Pipe muss also mit "grep
PATTERN FILE" anfangen; fuer die weiteren grep-Anweisungen wird dann
STDOUT der jeweils vorherigen durchgereicht.
Auch
grep ACTION_HOME mylog | grep ACTION_KONTEXT > mylog1
waere aber wohl nicht das, was Du haben willst: Damit werden naemlich
nur Zeilen gefunden, die sowohl ACTION_HOME als auch ACTION_KONTEXT
enthalten -- was es natuerlich nicht gibt.
So sollte es eigentlich funktionieren:
grep ACTION mylog | awk '{print $8}' > page.log
for i in `cat page.log`; do
echo -n "$i: "
grep "$i" mylog | awk '{print $1}' | sort -u | wc -l
done
Schoenen Gruss,
Andreas
Reply to: