[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: