PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Liste aus einer Datei abarbeiten



muellners
03.11.2004, 21:51
Zur Aufgabe die ich erfüllen möchte:

Ich habe eine Datei mit den Rechnernahmen in unserem Netz:

Beispiel:
Rechner1
Rechner2
Rechner3
Rechner3

Nun möchte ich aus einer Logdatei 'mail' rausfiltern, wie oft ein Rechner in der Stunde Mails abruft.

Beispiel von 'mail':
04 03 12 06 Rechnername ................
04 03 12 22 Rechnername .............
und und und ....

Syntax:

less mail | grep "Tag Stunde" | grep 'Rechnername' > Datei

Ein Script mit allen Rechnernamen funktioniert, wäre aber schön, wenn ich die Rechnernamen aus einer datei auslesen und nacheinander abarbeiten könnte .

rup
04.11.2004, 00:27
Das koennte so in etwa aussehen:


#!/bin/bash

while
read rechner
do
cat mail | grep "Tag Stunde" | grep $rechner > Datei-fuer-${rechner}.txt
done < DateiMitRechnernahmen

muellners
04.11.2004, 06:01
:frage:
ist sehr gut, aber nicht genau das was ich suche,

ich möchte aus der Liste mit den Rechnernamen einen nach dem anderen auslesen und nacheinander abarbeiten

echo $rechner >>Datei
cat mail | grep "Tag Stunde" | grep $rechner >> Datei
echo "******************" >> Datei

nächster rechner
.....
.....
.....

bis die Liste zu Ende ist.

rup
04.11.2004, 10:38
Genau dass sollte das Skript machen:



#!/bin/bash

while #Diese Schliefe liest deine Rechnernamen aus der Datei "DateiMitRechnernahmen"
read rechner
do # Fuer jede Zeile/Rechner werden die folgenden Zeilen abgearbeitet
echo $rechner >>Datei
cat mail | grep "Tag Stunde" | grep $rechner >> Datei
echo "******************" >> Datei
done < DateiMitRechnernahmen

muellners
05.11.2004, 20:52
Danke,

hat mir sehr geholfen ;-)